【发布时间】:2022-01-10 17:47:43
【问题描述】:
嗨,我正在尝试制作一个输入数字的表单,在我在输入字段上的表单内,但有一些按钮用于设置所述字段的样式,以及用于将表单发送到 php 文件的锚标记。单击其中一个按钮立即发送当前值,如何停止?
<form name="destination" action="../a.php" method="post">
Quantity :
<button onclick="dec('amount')">-</button>
<input name="amount" type="text" value="0" size = 1>
<button onclick="inc('amount')">+</button><br><br>
</form>
<a href="javascript:submitForm()">Details</a>
按钮 JS:
function inc(element) {
let el = document.querySelector(`[name="${element}"]`);
el.value = parseInt(el.value) + 1;
}
function dec(element) {
let el = document.querySelector(`[name="${element}"]`);
if (parseInt(el.value) > 0) {
el.value = parseInt(el.value) - 1;
}
}
锚标签JS函数:
function submitForm() {
document.destination.submit();
}
</script>```
【问题讨论】:
-
按钮类型需要定义
<button type='button',否则默认为type='submit':stackoverflow.com/questions/932653/… -
@Kinglish 是正确的。而且,
onclick函数将event对象传递给该函数,您可以执行event.preventDefault(),这将阻止任何默认行为的发生,例如打开链接或提交表单。 preventDefault Doc
标签: javascript php html