【发布时间】:2014-07-14 20:53:23
【问题描述】:
我有这个简单的表格,我正在尝试提交。它有 3 个输入:文本字段,其中填充了计算中的数据,具体取决于您在哪个字段中输入信息。我可以按 Enter 并且它工作正常,因为我仍然专注于该字段,但如果我不会提交表单点击提交按钮。这是html。
<form id="pr">
<table width="680px" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td colspan="3" align="center" bgcolor="#CCCCCC" class="header">Pressure Conversion Calculator</td>
</tr>
<tr>
<td bgcolor="#efefef" class="text">Psi</td>
<td bgcolor="#efefef" class="text">MPa</td>
<td bgcolor="#efefef" class="text">Bar</td>
</tr>
<tr>
<td bgcolor="#efefef" class="text"><input id="psi" name="psi" type="text" size="7" value=""/></td>
<td bgcolor="#efefef" class="text"><input id="mpa" name="mpa" type="text" size="7" value="" /></td>
<td bgcolor="#efefef" class="text"><input id="bar" name="bar" type="text" size="7" value="" /></td>
</tr>
<tr>
<td colspan="3" bgcolor="#efefef"> </td>
</tr>
<tr>
<td colspan="3" bgcolor="#efefef">
<input type="submit" name="button" id="submit" value="Calculate" class="submitbutton"/>
<input type="button" name="clear" id="clear" value="Clear Fields" class="submitbutton"/>
</td>
</tr>
<tr>
<td colspan="3" bgcolor="#efefef" height="5"></td>
</tr>
</table>
然后是 jquery
$('#submit').click(function(event){
event.preventDefault();
if($('#psi').is(':focus')){
pressure = parseInt($('#psi').val());
bar = pressure * 0.0690;
$('#bar').val(bar.toFixed());
mpa = pressure * 0.006894759086775369;
$('#mpa').val(mpa.toFixed());
}
else if($('#mpa').is(':focus')){
pressure = parseInt($('#mpa').val());
bar = pressure * 10;
$('#bar').val(bar.toFixed());
psi = pressure * 145.0377;
psi = Math.round(psi/1000)*1000;
$('#psi').val(psi);
}
else if($('#bar').is(':focus')){
pressure = parseInt($('#bar').val());
mpa = pressure * 0.1;
$('#mpa').val(mpa.toFixed());
psi = pressure * 14.500;
psi = Math.round(psi/1000)*1000;
$('#psi').val(psi);
}
else{}
});
我对此有点陌生,我只是想解决所有的错误。任何帮助将不胜感激。
【问题讨论】:
-
event.preventDefault()阻止它提交,因为这是单击提交按钮的默认操作。只有在验证确定不应该提交时,您才应该这样做。