在我正在做的网页中,有一个表格,您可以通过单击每一行来修改它。这是通过将每个单元格的内容替换为包含相对值的输入字段来完成的。为了让用户取消所做的更改,我在进行替换之前保存了整个表格行的内容,然后我用它来组成新的 html 字符串以放入表格行中(基本上,我只是把它放在一个函数中call 然后在按下按钮以恢复更改时调用)。如果我尝试通过警报显示它,则字符串看起来很好。但是,萤火虫返回一个错误,因为显然字符串在我通过在 .html 上调用 .html 将其放入页面后被打乱了。我的意思是,而不是
<tr><td>somedata</td><td><input type=button onclick=fun('oldTrContent')/></td></tr>
它是
<tr><td>somedata</td><td><input type=button oldTrContentNotInOrder') onclick=fun(/></td></tr>
这显然行不通。我尝试在函数中添加一些警报,以查看此行为是否是由某些格式错误引起的,但在调用 .html() 之前一切看起来都很好。我使用的代码是这样的:
function mostraModificaCompet(ids, nome){
var id='#'+nome;
var statoPrec=escape($(id).html());
alert(statoPrec);
var d=$(id+" .data").html();
var c=$(id+" .caus span").html();
var de=$(id+" .descr").html();
var pu=$(id+" .prezzou").html();
var q=$(id+" .qta").html();
var pt=$(id+" .prezzot").html();
var iu=$(id+" .ivau").html();
var it=$(id+" .ivat").html();
var t=$(id+" .tot").html();
var r=$(id+" .res").html();
var pr=$(id+" .progr").html();
var str="<td class=data ><input type=text value="+d+" /></td><td class=caus ><select class=selcaus ></select></td><td class=descr ><input type=text value="+de+" />\
</td><td class=prezzou ><input type=text value="+pu+" /></td><td class=qta ><input type=text value="+q+" /></td><td class=prezzot ><input type=text value="+pt+" disabled /></td>\
<td class=ivau ><input type=text value="+iu+" /></td><td class=ivat ><input type=text value="+it+" disabled /></td><td class=tot ><input type=text value="+t+" disabled /></td><td>\
<input type=button value='Conferma' onclick=modificaCompet("+ids+", '"+nome+"') /></td><td><input type=button value=Annulla onclick=ripristinaCompet('"+nome+"', '"+statoPrec+"') /></td>";
alert(str);
$(id).html(str);
}
我保存旧内容的变量是 statoPrec,然后我在编写 str 时使用它(它位于字符串的末尾)。提前感谢任何回答的人。