Javascript 使用包含多个select表单的页面在select上提交表单
如果有一个页面上有多个select表单,如下所示,并且表单需要使用js(而不是内联)提交,那么是否有一种简单的方法可以使用一个函数来实现它Javascript 使用包含多个select表单的页面在select上提交表单,javascript,Javascript,如果有一个页面上有多个select表单,如下所示,并且表单需要使用js(而不是内联)提交,那么是否有一种简单的方法可以使用一个函数来实现它 <form action="" method="post"> <select name="cars" id="cars"> <option value="">Choose</option> <option value="1">Toyota</option> <
<form action="" method="post">
<select name="cars" id="cars">
<option value="">Choose</option>
<option value="1">Toyota</option>
<option value="2">Nissan</option>
</select>
</form>
<form action="" method="post">
<select name="trucks" id="trucks">
<option value="">Choose</option>
<option value="1">TATA</option>
<option value="2">Nissan</option>
</select>
</form>
如何使用js文件实现这一点。谢谢。使用jQuery:
$(document).ready(function() {
$('select').on('change', function() {
$(this).parents('form').submit();
});
});
编辑:
根据您的要求,如果我理解正确:1) 将上述代码按原样放入
submit.js
文件中。2) 在html/php文件中,通过
引用脚本,您可以只针对选择并提交父表单。最好是将类添加到这些选择中,但您可以获得所有选择
[].slice.call( document.getElementsByTagName('select') ).forEach(function(el) {
el.addEventListener('change', function() { this.form.submit() });
});
如果您提供的代码段位于一个名为submit.js的文件中,您还可以演示如何调用onchange函数吗。目前,我正在使用类似以下内容的php进行回音:
echo“onchange=”this.form.submit“Choose…”
,这与我一直试图让它工作的方式完全相同,但它似乎没有检测到onchange事件。这就是我正在做的:-onchange='
。但该文件不会触发。您不能以这种方式加载脚本。:)把它放在开口标签的前面。或者更好,在html页面的
中。你好!谢谢你的回复,我觉得这对我来说太复杂了,所以我选择了更简单的timenomad回复。如果可以的话,我会投票给他们两个都是最好的。@Ajoo-没问题,唯一的区别是这个答案不使用jQuery,这只是因为你没有用jQuery标记你的问题,只使用javascript。
[].slice.call( document.getElementsByTagName('select') ).forEach(function(el) {
el.addEventListener('change', function() { this.form.submit() });
});