如果输入文本框为空,则自动提交PHP表单

时间:2017-06-15 11:51:02

标签: javascript php html forms

我想提交表单,以便刷新页面上的数据。如果我手动提交表单(空或不),这可以正常工作。如果文本框是 EMPTY ,我想自动提交表单 。如果此人输入,我不希望提交表单。但由于某种原因,这是行不通的。

我的表格:

<form  action=thispage.php method="post" id="form">
  <input type="text" name="message" placeholder="Type Your Message here" width="100" id="cm" onblur="refresh(this)">
 <input type="submit" value="Send"  id="snd">
</form>  

我的JavaScript:

<script>
  function refresh(field){
   if (field.value==''){
     document.getElementById('snd').click();

   }
  }
  setInterval(refresh,1000);
</script>

以上代码未提交我的表单 AT ALL 。 所以我尝试了另一个选择:

JavaScript:

<script>
  function refresh(){ 
  //this time without any argument and no function handling in the input textbox
    if (document.getElementById('cm').value=""){
      document.getElementById('snd').click();
    }
  }
  setInterval(refresh,1000);
</script>

但在这种情况下,即使用户 TYPING ,表单也会提交 1秒,

3 个答案:

答案 0 :(得分:0)

使用条件=====代替=进行比较时遇到问题

<script>
  function refresh(){ 

  //this time without any argument and no function handling in the input textbox
    if (document.getElementById('cm').value==""){
      document.getElementById('snd').click();
    }
  }
  setInterval(refresh,1000);
</script>

答案 1 :(得分:0)

我认为您的问题不正确。如果输入文本为空,那么为什么要提交。如果输入文本不为空,则应提交表单。 @Mrigank

    <script type="text/javascript">
    function refresh(obj){ 
            var val = obj.value;
            if (val.trim()!=""){
                alert("Form is Submitted.");
                document.getElementById('snd').click();
            }
    }
    </script>

您可以在输入类型文本中添加自动聚焦属性,以便在刷新后,它会自动聚焦于文本字段。

    <input type="text" name="message" placeholder="Type Your Message here" onblur="refresh(this)" autofocus>

用于演示结帐: Demo

答案 2 :(得分:0)

是的!第二个代码是做Job。只需将(.value =&#34;&#34;)修改为(.value ===&#34;&#34;)

function refresh() {
    console.log(document.getElementById('cm').value)
    console.log('refresh')
    //this time without any argument and no function handling in the 
input textbox
    if (document.getElementById('cm').value === "") {
        document.getElementById('snd').click();
    }
}
setInterval(refresh, 1000);