在 select 上提交表单,页面上有多个 select 表单
Forms submission on select with a page having multiple select forms
如果有一个页面有多个select表单,并且需要使用js提交表单(但不是内联),那么有没有一种简单的方法可以只使用一个函数来实现它?
<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>
如果我必须排队,那就是
onchange = 'this.form.submit();
如何使用 js 文件执行此操作。谢谢
使用jQuery:
$(document).ready(function() {
$('select').on('change', function() {
$(this).parents('form').submit();
});
});
编辑:
根据您的要求,如果我理解正确的话:
1) 将上面的代码原封不动地放在 submit.js
文件中。
2) 在您的 html/php 文件中通过 <script src="submit.js"></script>
引用脚本
您可以只定位选择并提交父表单。
最好将 类 添加到这些选择中,但您可以只获得所有选择
[].slice.call( document.getElementsByTagName('select') ).forEach(function(el) {
el.addEventListener('change', function() { this.form.submit() });
});
如果有一个页面有多个select表单,并且需要使用js提交表单(但不是内联),那么有没有一种简单的方法可以只使用一个函数来实现它?
<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>
如果我必须排队,那就是
onchange = 'this.form.submit();
如何使用 js 文件执行此操作。谢谢
使用jQuery:
$(document).ready(function() {
$('select').on('change', function() {
$(this).parents('form').submit();
});
});
编辑:
根据您的要求,如果我理解正确的话:
1) 将上面的代码原封不动地放在 submit.js
文件中。
2) 在您的 html/php 文件中通过 <script src="submit.js"></script>
您可以只定位选择并提交父表单。
最好将 类 添加到这些选择中,但您可以只获得所有选择
[].slice.call( document.getElementsByTagName('select') ).forEach(function(el) {
el.addEventListener('change', function() { this.form.submit() });
});