2016-07-21 83 views
0

我希望当表单的输入字段为空时向我显示提醒并停止表单提交。现在问题与我的代码是,它只显示警报,但不停止表单提交。在这里我的HTML输入字段和脚本:在空输入字段中停止表单提交

function required() { 
 
    var empt = document.forms["me_validate"]["insert_vender_emails"].value; 
 
    if (empt == "") { 
 
    alert("Please fill out the vendor email field"); 
 

 
    } 
 

 
}
<form enctype="multipart/form-data" id="validate-me" method="post" class="form-horizontal" action="phpcode_class.php" role="form" name="me_validate" onsubmit="return required()"> 
 
    <textarea type="text" id="tags" name="insert_vender_emails" class="form-control" placeholder=""> 
 
    <?php if($n_vendors!='') { echo $n_vendors; } else { echo $rfq[ 'vender_emails']; } ?> 
 
    </textarea> 
 
</form>

我真的被困在此。请帮我摆脱这种出来......由于事先

+0

简单的事情是,使用html5需要。 –

+0

但我想提醒框 – Pardeep

+0

比js是必须的,因为你已经做到了。 –

回答

0
<html><head> 
    <script type="text/javascript"> 

     function submit_form() { 
      if (conditions) { 
       document.forms['myform'].submit(); 
      } 
      else { 
       alert("Validation Failed;"); 
      } 
     } 

    </script> 
</head><body> 

    … 

    <input type="button" name="submit" value="submit" onclick="submit_form();"/> 

</body></html> 
+1

请描述你改变了什么,为什么。质量答案不仅仅表现出来,而且还解释了解决方案。 – Hexaholic

+0

已经做到了!!!!!但不工作...任何其他想法 – Pardeep

+2

虽然此代码可能会回答问题,但提供有关* how *和/或* why *解决问题的其他上下文会提高答案的长期价值。 –

0

试试这个,

 <script> 
      function required() 
      { 
      var empt = document.forms["me_validate"] ["insert_vender_emails"].value; 
      if (empt == "") 
      { 
       alert("Please fill out the vendor email field"); 
       return false; 
       } 

      } 

     </script> 
+0

我已经做了这个(返回false),但没有工作 – Pardeep

0

请把返回false;警报消息之后。请检查下面的代码。

<script> 
    function required() 
    { 
     var empt = document.forms["me_validate"]["insert_vender_emails"].value; 
     if (empt == "") 
     { 
      alert("Please fill out the vendor email field"); 
      return false; 

     } 

    } 
</script> 
+0

不工作已经这样做 – Pardeep

+0

请使用$ .trim()函数以及它将从文本框中删除不必要的空格。例如, $ .trim(制止)。 –

+0

还有一件事可以让你使用textarea值。 var empt = $(“#tags”)。val(); 或者如果没有jQuery添加,然后使用下面的代码。 var empt = document.getElementById(“tags”).value; –

0

当您提交表单时,它会重新载入所有页面。

使用return false来克服这种情况。

<script> 
function required() 
{ 
    var empt = document.forms["me_validate"]["insert_vender_emails"].value; 
    if (empt == "") 
    { 
     alert("Please fill out the vendor email field"); 
     return false; 
    } 
} 
</script> 
0

可能是你没有正确地选择元素,

function required() 
{ 
var empt = document.getElementById("tags").value; 
if (empt == "") 
{ 
    alert("Please fill out the vendor email field"); 
    return false; 
} 
} 
0

警告弹出消息后,试图返回一些东西的形式。

<script> 
    function required() 
     { 
     var empt = document.forms["me_validate"]["insert_vender_emails"].value; 
     if (empt == "") 
     { 
      alert("Please fill out the vendor email field"); 
      return false; 
     } 
      return (true); 

     } 

</script> 
0

使用新的HTML5 required属性

<textarea type="text" id="tags" name="insert_vender_emails" class="form-control" placeholder="" required></textarea> 

http://www.w3schools.com/tags/att_input_required.asp

请记住,用这种方式,你无法验证输入数据。验证仅存在于应用程序的服务器端。看看this后太

0

呼叫requiredfunctiononsubmit()并返回false如果textarea是空

<form enctype="multipart/form-data" id="validate-me" method="post" class="form-horizontal" action="phpcode_class.php" role="form" name="me_validate" onsubmit="return required()"> 
    <textarea type="text" id="tags" name="insert_vender_emails" class="form-control" placeholder="" ><?php if($n_vendors!='') { echo $n_vendors; } else { echo $rfq['vender_emails']; } ?></textarea> 
    <input type="submit" value="submit" name="submit" onsubmit="required()"> 
    </form> 

    <script> 
    function required() 
    { 
    var empt = document.forms["me_validate"]["insert_vender_emails"].value; 
    if (empt == "") 
    { 
    alert("Please fill out the vendor email field"); 
    return false; 
    } 

    } 

    </script> 
+0

@Pardeep试试这个 – user1234

0

您可以使用HTML5 “需要” 验证为:

<textarea type="text" id="tags" name="insert_vender_emails" class="form-control" placeholder="" required> 
     <?php if($n_vendors!='') { echo $n_vendors; } else { echo $rfq[ 'vender_emails']; } ?> 
    </textarea> 

OR

只需写“ret瓮虚假;“在你需要的功能提醒消息后,如:

function required() { 


var empt = document.forms["me_validate"]["insert_vender_emails"].value; 


if (empt == "") { 
alert("Please fill out the vendor email field"); 
return false; 


} 

}