提交仍然选择了输入的表单

时间:2014-07-14 20:53:24

标签: jquery forms focus submit

我有这个我试图提交的简单表格。它有3个输入:文本字段,这些字段填充了计算中的数据,具体取决于您输入信息的字段。我可以点击输入并且工作正常,因为我仍然专注于该字段,但表单不会提交如果我点击提交按钮。这是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">&nbsp;</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{}  

});

我对此并不熟悉,只是想弄清楚所有的错误。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

使用常规按钮(删除type="submit"),然后在代码中提交表单:

document.forms[0].submit();