2012-11-11 47 views
0

我有一個小麻煩使用內部HTML設置窗體:通過innerHTML設置表單?

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

試試這個,你沒有逃脫「在不同的上下文

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

感謝DIR,這工作,我想當我試圖我錯過了'在onSubmit。 –

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; 

確保關閉輸入標記(如上所述)。這比嘗試添加轉義字符更清晰且更易於閱讀。

+0

啊,謝謝你,會試試看。 –

+0

不客氣。只要你使用XML,這使得生活更輕鬆。只記得關閉所有的XML標籤與/ – Boundless