html表单没有响应点击“输入”按钮

时间:2013-10-06 19:07:50

标签: javascript html forms

我有这个html形式,它实际上并没有将数据发送到php文件,而是将数据发送到javascipt函数。

如果我点击“开始”按钮就可以正常工作,但是如果我选择了某些内容并点击“输入”,则无法正常工作。不将数据发送到函数,即。

我已经使用相同的模式制作了其他表单,将数据发送到同一文件中的javascript函数并且它们可以工作。这一个拒绝。

我该如何解决这个问题?感谢

<form id="boroughform" enctype="multipart/form-data" method="post" action="#" onSubmit="return goborough(this); return false;" >
Choose borough:<br/>
 <select name="boroughselect" id="boroughselect" >
  <option selected value=" ">Choose...</option>
//fill the options with the results of a query performed eariler - works
    <?php 
        for ($v=0; $v< sizeof($borough) ; $v++)
                {echo '"<option value="'.$bid[$v].','.$bboxa[$v].','.$bboxb[$v].','.$bboxc[$v].','.$bboxd[$v].'" >'.$borough[$v].'</option>';}
       ?>
 </select><br/>  
<input type="submit"  value="Go" name="postbor" class="formButton">
</form>



//the js
function goborough(g){

          var binfo=g.elements['boroughselect'].value;
          if(binfo!=" "){
                  //some cool openlayers staff here
          return false;
          }
          else{alert('You have not chosen a borough !!! ');return false;}

}

4 个答案:

答案 0 :(得分:2)

在你的表单元素(select)中试试这个,

onkeypress="if(event.keyCode==13) {this.submit();}"

或者使用jquery,

$(document).ready(function() {
  $("input").keypress(function(event) {
    if (event.which == 13) {
        event.preventDefault();
        $("#broughtform").submit();
    }
  });
});

答案 1 :(得分:1)

您的问题不在代码中,但是select元素已将 enter 键保留用于其他目的,请参阅why doesn't hitting enter when a SELECT is focused submit the form?

onkeypress事件应用于select元素以更改此默认行为。

答案 2 :(得分:1)

如果你确定一切都很好,它应该去。然后你可以用这个:

onkeydown(submitform)

在表单标签中,在函数中你应该使用它:

function submitform () {
  if(event.keyCode == 13) {
    // submit the form.. as enter key code is 13.
  }
}

我不确定为什么它不起作用。您应该尝试从浏览器中读取并查看控制台,它必须告诉您错误是什么。尝试在浏览器中按F12。您将在那里获得错误代码,尝试谷歌搜索,或在问题中分享。

答案 3 :(得分:0)

您应该返回true来提交表单,但是您总是返回false return false并且它会阻止提交。

<强> JS:

function goborough(g){
    var binfo=g.elements['boroughselect'].value;
    if(binfo!=" "){
          //some cool openlayers staff here
          return true;
    }
    else{
        alert('You have not chosen a borough !!! ');
        return false;
    }
}

<强> HTML:

你有这个

onSubmit="return goborough(this); return false;"

但是,它应该是

onSubmit="return goborough(this);"