从键盘输入时提交按钮刷新整个页面
Submit button refreshes the entire page while enter from keyboard
我有这个表单,我从用户那里获取输入并将其以相同的表单(在 td 内)插入到 table,我是用 js 完成的。问题是每当我单击输入(使用鼠标)时它工作正常,但是当我使用键盘输入时它会刷新整个页面。代码有什么问题?我该如何克服?
<form action="">
LOAN AMOUNT:<input type="text" name="amount" id="amount"/>
<input type="button" value="Enter" id="enter"/>
<div class="CSSTableGenerator">
<table>
<tr>
<th></th>
<td></td>
</tr>
</table>
</div>
</form>
句柄onsubmit
像这样
<form action="" onsubmit="return false;">
您使用的是输入类型按钮,因此点击事件可以正常工作,但是当您点击回车键时,会发生表单提交事件,因为您的页面会重新加载
你需要处理提交事件而不是点击事件
在您的 html
中进行以下更改
<form action="" id="myform" >
<input type="submit" value="Enter" id="enter"/>
在你的 js 中关注
$(document).ready(function() {
$("#myform").submit(function() { // handle submit instead of click
var p = document.getElementById("amount").value;
var interest = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
var year = [5, 10, 15, 20, 25, 30];
var r;
var SI;
var id;
for (x = 0; x < interest.length; x++) {
r = interest[x];
id = x + 1;
for (y = 0; y < year.length; y++) {
n = year[y];
SI = (p * n * r) / 100;
console.log(SI)
document.getElementById(n + "_year_" + id).innerHTML = SI;
}
console.log(p)
console.log(r)
document.getElementById("loan" + id).innerHTML = p;
document.getElementById("interest" + id).innerHTML = r + "%";
}
return false;
});
});
工作fiddle
我有这个表单,我从用户那里获取输入并将其以相同的表单(在 td 内)插入到 table,我是用 js 完成的。问题是每当我单击输入(使用鼠标)时它工作正常,但是当我使用键盘输入时它会刷新整个页面。代码有什么问题?我该如何克服?
<form action="">
LOAN AMOUNT:<input type="text" name="amount" id="amount"/>
<input type="button" value="Enter" id="enter"/>
<div class="CSSTableGenerator">
<table>
<tr>
<th></th>
<td></td>
</tr>
</table>
</div>
</form>
句柄onsubmit
像这样
<form action="" onsubmit="return false;">
您使用的是输入类型按钮,因此点击事件可以正常工作,但是当您点击回车键时,会发生表单提交事件,因为您的页面会重新加载
你需要处理提交事件而不是点击事件
在您的 html
中进行以下更改 <form action="" id="myform" >
<input type="submit" value="Enter" id="enter"/>
在你的 js 中关注
$(document).ready(function() {
$("#myform").submit(function() { // handle submit instead of click
var p = document.getElementById("amount").value;
var interest = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
var year = [5, 10, 15, 20, 25, 30];
var r;
var SI;
var id;
for (x = 0; x < interest.length; x++) {
r = interest[x];
id = x + 1;
for (y = 0; y < year.length; y++) {
n = year[y];
SI = (p * n * r) / 100;
console.log(SI)
document.getElementById(n + "_year_" + id).innerHTML = SI;
}
console.log(p)
console.log(r)
document.getElementById("loan" + id).innerHTML = p;
document.getElementById("interest" + id).innerHTML = r + "%";
}
return false;
});
});
工作fiddle