Javascript 当html选择表单更改时,弹出警报,然后发送表单
我在表单中的select上使用onchange=“this.form.submit()”,它按预期工作,但我希望在更改select下拉列表时弹出一个警报,然后在单击OK时让表单提交。如果有人有办法做到这一点,如果你能分享,我们将不胜感激-谢谢Javascript 当html选择表单更改时,弹出警报,然后发送表单,javascript,forms,Javascript,Forms,我在表单中的select上使用onchange=“this.form.submit()”,它按预期工作,但我希望在更改select下拉列表时弹出一个警报,然后在单击OK时让表单提交。如果有人有办法做到这一点,如果你能分享,我们将不胜感激-谢谢 <form action="/index.php/dashboard/pages/page_statistics/change_collection_type/" method="post"> <input type="hidde
<form action="/index.php/dashboard/pages/page_statistics/change_collection_type/" method="post">
<input type="hidden" value="690" name="cID">
<select onchange="this.form.submit()" name="ctID">
<option value="4">Blog Entry</option>
<option value="85" selected="selected">Blog Posting</option>
<option value="5">Full</option>
</select>
</form>
博客条目
博客帖子
满满的
使用确认功能。其工作原理与警报类似,但如果用户按OK,则返回true;如果用户按cancel,则返回false
test = confirm("Continue?");
if (test) {
this.form.submit()
}
所以对你来说,你应该把它放在你的onchange上
onchange="if(confirm('Continue?')){this.form.submit()}"
像这样的东西应该可以做到:
...
<select onchange="submitForm(this.form);" name="ctID">
...
这是一个超级基本的例子,但应该传达如何做的概念
作为旁注,您确实应该将这个调用外部化,将HTML与Javascript分离。这将使每一个都更易于维护,并且具有潜在的可重用性。例如:
...
<select id="submitFormSelect" name="ctID">
...
再次是一个非常基本的实现,但应该传达整体概念
...
<select id="submitFormSelect" name="ctID">
...
window.onload = function(){
var form = document.getElementById('submitFormSelect');
function submitForm(){
if(confirm('Are you sure you want to submit this form?')){
form.submit();
} else {
return false;
}
}
if(form.addEventListener) {
form.addEventListener('change',submitForm,false);
} else if(form.attachEvent) {
form.attachEvent('onchange',submitForm);
}
}