0

当我使用这行代码时,表中的行被添加

$('#preq > tbody:last').append('<tr><td>Added here</td></tr>');

但是当我为此使用它时它不起作用

$('#preq > tbody:last').append('<tr><td><input title="Enter Kind Of work new" readonly="readonly" onclick="if(this.value!=''){this.value='';opendrop();}else{opendrop();}" id="other_work5" name="other_work5" type="text" size="30" onclick="opendrop()"  <?php if (isset($errors)) { echo 'value="'.htmlentities(@$_POST['other_workn']).'"'; } ?>></td><td><input name="client_name5" type="text" id="client_name5" size="40"/></td><td><input name="firm_name5" type="text" id="firm_name5" size="40"/></td></tr>');

错误在哪里?

4

4 回答 4

2

未转义的字符串:

$('#preq > tbody:last').append('<tr><td><input title="Enter Kind Of work new" readonly="readonly" onclick="if(this.value!='')
--------------------------------------------^ {this.value='';opendrop();}else{opendrop();}" id="other_work5"
------------^
name="other_work5" type="text" size="30" onclick="opendrop()" <?php if (isset($errors)) { echo 'value="'.htmlentities(@$_POST['other_workn']).'"'; } ?>></td><td><input name="client_name5" type="text" id="client_name5" size="40"/></td><td><input name="firm_name5" type="text" id="firm_name5" size="40"/></td></tr>');

只需使用它们来逃避它们\',你就很好了!

工作一:

$('#preq > tbody:last').append('<tr><td><input title="Enter Kind Of work new" readonly="readonly" onclick="if(this.value!=\'\'){this.value=\'\';opendrop();}else{opendrop();}" id="other_work5" name="other_work5" type="text" size="30" onclick="opendrop()" <?php if (isset($errors)) { echo 'value="'.htmlentities(@$_POST['other_workn']).'"'; } ?>></td><td><input name="client_name5" type="text" id="client_name5" size="40"/></td><td><input name="firm_name5" type="text" id="firm_name5" size="40"/></td></tr>');

于 2013-01-04T07:45:03.247 回答
1

代码中未转义的单引号被单引号包围。

于 2013-01-04T07:45:13.503 回答
1

您需要转义单引号。试试这个:

$('#preq > tbody:last').append('' +
  '<tr>' +
    '<td>' +
      '<input title="Enter Kind Of work new" readonly="readonly" ' +
        'onclick="if(this.value!=\'\'){this.value=\'\';opendrop();}else{opendrop();}" id="other_work5" name="other_work5" type="text" size="30" ' +
        'onclick="opendrop()"  <?php if (isset($errors)) { echo 'value="'.htmlentities(@$_POST['other_workn']).'"'; } ?>>' +
    '</td>' +
    '<td>' +
      '<input name="client_name5" type="text" id="client_name5" size="40"/>' +
    '</td>' +
    '<td>' +
      '<input name="firm_name5" type="text" id="firm_name5" size="40"/>' +
    '</td>' +
  '</tr>'
);

另请注意,由于 PHP 是服务器端,因此 php 将在附加 html 之前执行...

于 2013-01-04T07:46:20.023 回答
0

中的第一个单引号 (')

"if(this.value!='')

关闭打开的字符串

append('

转义要附加的字符串中的所有单引号。

于 2013-01-04T07:45:19.963 回答