我知道已经问过那种问题,但是我找不到解决方案。在我的HTML文件中,我有以下代码:
<div>
<form id="chart-input">
<input type="text" name="country" placeholder="Country" autocomplete="off">
<input type="number" name="visits" placeholder="Visits" autocomplete="off">
<button>Send</button>
</form>
</div>
我尝试使用jQuery处理此表单的提交,但似乎不起作用。
这是我的js文件:
jQuery('#chart-input').on('submit', function (e) {
e.preventDefault();
let countryTextbox = jQuery('[name=country]');
let visitsTextbox = jQuery('[name=visits]');
socket.emit('addData', {
"country": countryTextbox,
"visits": visitsTextbox
});
});
有什么问题?当我单击按钮
preventDefault()
时,其他代码未执行。希望任何人都知道解决方案。谢谢 最佳答案
确保您已注册jQuery
并执行以下操作:
将您的javaScript
代码放在HTML
之后,或将其更改为:
jQuery(document).ready(function(){
jQuery('#chart-input').on('submit', function (e) {
e.preventDefault();
let countryTextbox = jQuery('[name=country]');
let visitsTextbox = jQuery('[name=visits]');
socket.emit('addData', {
"country": countryTextbox,
"visits": visitsTextbox
});
});
});
<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<form id="chart-input">
<input type="text" name="country" placeholder="Country" autocomplete="off">
<input type="number" name="visits" placeholder="Visits" autocomplete="off">
<button>Send</button>
</form>
<script>
jQuery(document).ready(function() {
jQuery('#chart-input').on('submit', function(e) {
e.preventDefault();
let countryTextbox = jQuery('[name=country]');
let visitsTextbox = jQuery('[name=visits]');
//socket.emit('addData', {
// "country": countryTextbox,
// "visits": visitsTextbox
//});
alert('it works!!!');
});
});
</script>
关于javascript - 提交时的jQuery不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50836768/