Php jquery error NS\u error\u XPC\u BAD\u CONVERT\u JS:在FF中有效,但在Chrome上无效
我使用jquery向表单添加字段,“可重复”字段和“添加更多”按钮 代码是Php jquery error NS\u error\u XPC\u BAD\u CONVERT\u JS:在FF中有效,但在Chrome上无效,php,javascript,jquery,Php,Javascript,Jquery,我使用jquery向表单添加字段,“可重复”字段和“添加更多”按钮 代码是 $(".add-attacker-scores").click(function() { count = count + 1; $('#atacker_score_items').append('<li><span class="sort hndle"><label>team :<input type="text
$(".add-attacker-scores").click(function() {
count = count + 1;
$('#atacker_score_items').append('<li><span class="sort hndle"><label>team :<input type="text" name="attacker_scores[' + count + '][team]" size="30" value=""/></label><label>flags :<input type="text" name="attacker_scores[' + count + '][flags]" size="10" value=""/></label><label>phone homes :<input type="text" name="attacker_scores[' + count + '][phone]" size="10" value=""/></label><label>Injects :<input type="text" name="attacker_scores[' + count + '][injects]" size="10" value=""/></label><span class="remove">Remove</span></li>');
var temp = <? echo implode('',explode("\n",Print_attacker_scores('count') )); ?>;
temp = temp.replace(/count/g, count);
$('#atacker_score_items').append(temp);
return false;
});
$(“.add攻击者分数”)。单击(函数(){
计数=计数+1;
$(“#atacker_score_items”).append(“团队:标志:呼叫总部:注入:删除”);
var-temp=;
温度=温度更换(/count/g,计数);
$('atacker#u score_items')。附加(临时);
返回false;
});
打印分数的代码为
function Print_attacker_scores($cnt, $p = null) {
if ($p === null){
$a = $b = $c = $d = '';
}else{
$a = $p['team'];
$b = $p['flags'];
$c = $p['phone'];
$d = $p['injects'];
}
return <<<HTML
<li><span class="sort hndle"></span>
<label>team :
<input type="text" name="attacker_scores[$cnt][team]" size="30" value="$a"/>
</label>
<label>flags :
<input type="text" name="attacker_scores[$cnt][flags]" size="10" value="$b"/></label>
<label>phone homes :
<input type="text" name="attacker_scores[$cnt][phone]" size="10" value="$c"/></label>
<label>injects :
<input type="text" name="attacker_scores[$cnt][injects]" size="10" value="$d"/></label>
<span class="remove">Remove</span>
</li>
HTML
;
}
函数打印分数($cnt,$p=null){
如果($p==null){
$a=$b=$c=$d='';
}否则{
$a=$p[“团队”];
$b=$p['flags'];
$c=$p['phone'];
$d=$p['injects'];
}
return这不是一个完整的答案,因为我无法重现jQuery错误。但是,就目前情况而言,您似乎是从JavaScript调用PHP,这将不起作用,因为脚本语言存在于堆栈的不同部分
在我看来,有两种方法可以做到这一点
PHP方式
有一个生成JavaScript函数的PHP文件,如下所示:
<?php
function Print_attacker_scores($cnt, $p = null) {
if ($p === null){
$a = $b = $c = $d = '';
} else{
$a = $p['team'];
$b = $p['flags'];
$c = $p['phone'];
$d = $p['injects'];
}
$html = <<<HTML
<li><span class="sort hndle"></span>
<label>team :<input type="text" name="attacker_scores[$cnt][team]" size="30" value="$a"/></label>
<label>flags :<input type="text" name="attacker_scores[$cnt][flags]" size="10" value="$b"/></label>
<label>phone homes :<input type="text" name="attacker_scores[$cnt][phone]" size="10" value="$c"/></label>
<label>injects :<input type="text" name="attacker_scores[$cnt][injects]" size="10" value="$d"/></label>
<span class="remove">Remove</span>
</li>
HTML;
return preg_replace('/\s\s+/', ' ', $html);
}
?>
<script type="text/javascript">
var count = 0;
$(".add-attacker-scores").click(function() {
count++;
var temp = '<? echo Print_attacker_scores('count'); ?>';
temp = temp.replace(/count/g, count);
$('#atacker_score_items').append(temp);
return false;
});
</script>
我在HTML中使用的
<ul id="atacker_score_items" class="custom_repeatable ui-sortable"></ul>
<a href="#" class="add-attacker-scores">add more</a>
创造
纯JavaScript方式
使用已经包含生成的HTML并处理“计数”的现有函数→ 数字变量替换。在这个版本中,您不需要PHP函数调用或正则表达式
var count = 0;
$(".add-attacker-scores").click(function() {
count++;
$('#atacker_score_items').append('<li><span class="sort hndle"><label>team :<input type="text" name="attacker_scores[' + count + '][team]" size="30" value=""/></label><label>flags :<input type="text" name="attacker_scores[' + count + '][flags]" size="10" value=""/></label><label>phone homes :<input type="text" name="attacker_scores[' + count + '][phone]" size="10" value=""/></label><label>Injects :<input type="text" name="attacker_scores[' + count + '][injects]" size="10" value=""/></label><span class="remove">Remove</span></li>');
return false;
});
var计数=0;
$(“.add攻击者分数”)。单击(函数(){
计数++;
$(“#atacker_score_items”).append(“团队:标志:呼叫总部:注入:删除”);
返回false;
});
希望这有帮助!请告诉我您是否仍然收到JavaScript错误,因为我无法重现该问题。这不是一个完整的答案,因为我无法重现jQuery错误。但是,从目前的情况来看,您似乎是从JavaScript调用PHP,这将不起作用,因为脚本语言存在于系统的不同部分大头钉
在我看来,有两种方法可以做到这一点
PHP方式
有一个生成JavaScript函数的PHP文件,如下所示:
<?php
function Print_attacker_scores($cnt, $p = null) {
if ($p === null){
$a = $b = $c = $d = '';
} else{
$a = $p['team'];
$b = $p['flags'];
$c = $p['phone'];
$d = $p['injects'];
}
$html = <<<HTML
<li><span class="sort hndle"></span>
<label>team :<input type="text" name="attacker_scores[$cnt][team]" size="30" value="$a"/></label>
<label>flags :<input type="text" name="attacker_scores[$cnt][flags]" size="10" value="$b"/></label>
<label>phone homes :<input type="text" name="attacker_scores[$cnt][phone]" size="10" value="$c"/></label>
<label>injects :<input type="text" name="attacker_scores[$cnt][injects]" size="10" value="$d"/></label>
<span class="remove">Remove</span>
</li>
HTML;
return preg_replace('/\s\s+/', ' ', $html);
}
?>
<script type="text/javascript">
var count = 0;
$(".add-attacker-scores").click(function() {
count++;
var temp = '<? echo Print_attacker_scores('count'); ?>';
temp = temp.replace(/count/g, count);
$('#atacker_score_items').append(temp);
return false;
});
</script>
我在HTML中使用的
<ul id="atacker_score_items" class="custom_repeatable ui-sortable"></ul>
<a href="#" class="add-attacker-scores">add more</a>
创造
纯JavaScript方式
使用已经包含生成的HTML并处理“计数”的现有函数→ 数字变量替换。在这个版本中,您不需要PHP函数调用或正则表达式
var count = 0;
$(".add-attacker-scores").click(function() {
count++;
$('#atacker_score_items').append('<li><span class="sort hndle"><label>team :<input type="text" name="attacker_scores[' + count + '][team]" size="30" value=""/></label><label>flags :<input type="text" name="attacker_scores[' + count + '][flags]" size="10" value=""/></label><label>phone homes :<input type="text" name="attacker_scores[' + count + '][phone]" size="10" value=""/></label><label>Injects :<input type="text" name="attacker_scores[' + count + '][injects]" size="10" value=""/></label><span class="remove">Remove</span></li>');
return false;
});
var计数=0;
$(“.add攻击者分数”)。单击(函数(){
计数++;
$(“#atacker_score_items”).append(“团队:标志:呼叫总部:注入:删除”);
返回false;
});
希望这有帮助!如果您仍然收到JavaScript错误,请告诉我,因为我无法重现该问题。需要更多信息以提供帮助…是\atacker\u score\u items
还是
?这是一个ul:所以您知道JavaScript包含PHP,这必须由带有PHP处理器模块的Web服务器来解释吗?
echo
行是PHP。将其注释掉并保留第一个$(“#atacker_score_items”)。追加(…)
在Chrome中似乎可以正常工作-当然,这是一个可湿性粉剂网站,此代码位于管理区域。我以前删除了这些行,但现在仍然不起作用。删除这些行会引发以下错误:语法错误:无效标签标志:需要更多信息以提供帮助…是#atacker_score_items
还是
或<代码>
?这是一个UL:- 所以您知道JavaScript包含PHP,并且必须由带有PHP处理器模块的Web服务器来解释?echo行是PHP。注释掉并保留第一个
$('.\atacker\u score\u items')。追加(…)
在Chrome中似乎可以正常工作-当然,这是一个可湿性粉剂网站,此代码位于管理区域。我以前删除了这些行,但现在仍然不起作用删除这些行会引发以下错误:语法错误:无效标签标志:工作完美!!!!现在我正在处理的wordpress管理部分工作得很好。太棒了,谢谢你u非常:)我从来没有见过这样的“啊,很抱歉我没有解释。这是一个,或者更常见的PHP-一种指定字符串的便捷方式,它工作得很完美!!!!现在我正在处理的wordpress管理部分工作得很有魅力。太棒了,非常感谢:)我从来没有见过这样的内容”啊,对不起,我没有解释。这是一种,或者更常见的PHP——一种指定字符串文字的方便方法