我正在使用bootsrtap爲我的項目。當我在javascript中使用innerHtml替換某些部分它將無法正常工作。使用innerhtml後,然後單擊按鈕將不會迴應
<div id="confirm_body">
<div class="modal-body">
<p>Enter the email configured in your profile. A password reset link will be sent to by email. </p>
<label>User Name</label>
<input class="login-class" type="text" name="username" id="username" size="30"/>
<label>Enter email address</label>
<input class="login-class" type="text" name="emailAdd" id="emailAdd" size="30"/>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
<button class="btn btn-primary" id="sendConfMail">Submit</button>
</div>
</div>
但經過我更換這個使用JavaScript,
document.getElementById('sendConfMail').onclick=function(){
document.getElementById('confirm_body').innerHTML='<div class="modal-body"><div class="alert alert-success"> Your confirmation email sent! </div> </div><div class="modal-footer"><button class="btn" data-dismiss="modal" aria-hidden="true">Close</button></div>';
};
在此之後,當我點擊與ID = sendConfMail的按鈕,沒有任何happend。 這是爲什麼?
你把「document.getElementById ....」放在哪裏? – HMarioD
您的代碼工作正常,請參閱:http://jsfiddle.net/BWqmG/ – Xocoatzin
它看起來像你有一個競爭條件的情況。點擊時,您替換您的div的內容,在某些情況下,表單可能不會被髮送。例如,至少你可以嘗試用setTimeout來延遲getElementById。 – PEM