我在表单中的选择中使用onchange =“this.form.submit()”,它按预期工作,但我想要在更改选择下拉菜单然后使用时弹出警报如果单击“确定”,则表单提交如果有人有办法做到这一点,我们将不胜感激,如果你能分享它。 -Thanks
<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>
答案 0 :(得分:1)
使用确认功能。就像警报一样工作,但如果用户按下正常则返回true,如果他们按下取消则返回false。
test = confirm("Continue?");
if (test) {
this.form.submit()
}
所以对你来说,你把它放在你的onchange上
onchange="if(confirm('Continue?')){this.form.submit()}"
答案 1 :(得分:1)
这样的事情应该这样做:
...
<select onchange="submitForm(this.form);" name="ctID">
...
然后在你的函数中:
function submitForm(form){
if(confirm('Are you sure you want to submit this form?')){
form.submit();
} else {
return false;
}
}
这是一个超级基本的例子,但应该传达如何做的概念。
作为旁注,你真的应该外化这个调用,将HTML与你的Javascript分开。这将使每个更易于维护,并且可以重复使用。一个例子是:
...
<select id="submitFormSelect" name="ctID">
...
然后在你的外部JS:
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);
}
}
这是一个非常基本的实现,但应该传达整体概念。