0

内部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

4

2 に答える 2

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>';
于 2012-11-11T20:22:43.037 に答える
2

何も逃げないでください。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;

必ず入力タグを閉じてください(上記のように)。これは、エスケープ文字を追加しようとするよりもクリーンで読みやすいです。

于 2012-11-11T20:33:30.017 に答える