为什么我不能提交表格?

时间:2013-11-18 13:09:50

标签: javascript jquery forms

我有一个模态弹出窗口,我想在单击“阴影”时隐藏,但不会在单击内容时隐藏。为此,我有:

$('#shade').click(function(){
  $('#shade').fadeOut();
}).children().click(function(e){
  return false;
});

问题是我有一个我要提交的表单,这段代码阻止表单提交,所以我有:

$('#shade-form-submit').click(function(){
  document.getElementById('shade-form').submit();
});

但是,这会导致控制台出现以下错误:

[13:07:21.145] TypeError: document.getElementById(...).submit is not a function @ ...

发生了什么事?作为参考,我的<form>代码:

<form action='.' method='post' id='shade-form'> 
  <div>
    <input type='text' />
  </div>
  <div>
     <div>
       <input type='submit' />
     </div>
  </div>
</form>

1 个答案:

答案 0 :(得分:2)

您需要从children()上的点击处理程序中排除表单输入:

$('#shade')
    .click(function(){
        $('#shade').fadeOut();
    })
    .children().not(':input').click(function(e){
        return false;
    });