我在使用内部HTML设置表单时遇到一些麻烦:
document.getElementById("Button").innerHTML='<form action="add.php" method="post" onSubmit="track('P1');">'+
'<input type="hidden" name="add" value="true"> '+
'<input type="hidden" name="item" value="P1"> '+
'<input type="hidden" name="pID" value="3"> '+
'<input type="hidden" name="qty" value="1"> '+
'<input name="image" type="image" onMouseOver="this.src='/img/shop/r_addbasket.png'" '+
'onMouseOut="this.src='/img/shop/addbasket.png'" '+
'value="Add to Basket" src="/img/shop/addbasket.png" alt="AddtoBasket"></form>';
我认为它是因为我在表单中有一些'
而将其抛弃。我尝试使用转义字符,但没有工作。
TIA
答案 0 :(得分:4)
试试这个,你没有逃避'在不同的背景下使用它
document.getElementById("Button").innerHTML='<form action="add.php" method="post" onSubmit="track(\'P1\');">'+
'<input type="hidden" name="add" value="true"> '+
'<input type="hidden" name="item" value="P1"> '+
'<input type="hidden" name="pID" value="3"> '+
'<input type="hidden" name="qty" value="1"> '+
'<input name="image" type="image" onMouseOver="this.src=\'/img/shop/r_addbasket.png\'" '+
'onMouseOut="this.src=\'/img/shop/addbasket.png\'" '+
'value="Add to Basket" src="/img/shop/addbasket.png" alt="AddtoBasket"></form>';
答案 1 :(得分:1)
不要逃避任何事情。您不需要转义XML:
var xml = <form action="add.php" method="post" onSubmit="track('P1');">
<input type="hidden" name="add" value="true" />
<input type="hidden" name="item" value="P1" />
<input type="hidden" name="pID" value="3" />
<input type="hidden" name="qty" value="1" />
<input name="image" type="image" onMouseOver="this.src='/img/shop/r_addbasket.png'"
onMouseOut="this.src='/img/shop/addbasket.png'"
value="Add to Basket" src="/img/shop/addbasket.png" alt="AddtoBasket" />
</form>
document.getElementById("Button").innerHTML = xml;
确保关闭输入标记(如上所述)。与尝试添加转义字符相比,这更清晰,更易于阅读。