如何在表单验证时获取函数的返回值

how can i get return value of function on validation of form

本文关键字:获取 函数 返回值 验证 表单      更新时间:2023-09-26

我在网站上工作,我必须检查某种形式,以便任何字段都不应该为空,如果有任何空字段,它应该在字段名称的右侧写这个字段是空的

我的表格代码是:-

        <form action="Owners Infoback.php"  onsubmit="return validateForm()"  method="post" name="enquiry" id="" class="form-body-02">
    <ul>
        <li>1. Name of owner <input name="Name_of_owner" type="text" class="textarea-bk-02" id=""  value="" style="border:none; width:330px; margin-left:40px; margin-top:15px; height:20px;"/>
        </li>
        <li>
         2. Name of company:<br />
         <p>(Enter name registered)</p></label>
        <input name="Name_of_company_registered" type="text" class="textarea-bk-02" id=""  value="" style="border:none; width:330px; margin-left:40px; margin-top:13px; height:20px;"/>
        </li>
        <li>
          3. Address:<p>(Write your own manufacturer address)</p>
        <input name="Owner_address" type="text" class="textarea-bk-02" id=""  value="" style="border:none; width:330px; height:20px; margin-left:40px; margin-top:13px;"/></li>
        </li>
        <li>
          4. Email id:
          <input name="Owner_Email_id" type="text" class="textarea-bk-02" id=""  value="<?php echo "{$row[3]}";?>" style="border:none; width:330px; margin-left:40px; margin-top:13px; height:20px;"/>
        </li>
        <li><input name="Save" type="submit"  class="send-btns-02 right" value="save" style="margin-top:5px;" >
        <div class="clear"></div>
        </li>
    </ul>

我的Java脚本函数是:-

   function validateForm(string msz)
  {
 var x=document.forms["enquiry"]["Name_of_owner"].value;
if (x==null || x=="")
{
msz="First name must be filled out");
return msz;
}
x=document.forms["enquiry"]["Name_of_company_registered"].value;
if (x==null || x=="")
{ 
alert("Name of company registered filled out");
return false;
}
x=document.forms["enquiry"]["Owner_address"].value;
if (x==null || x=="")
{
alert("Owner addressmust be filled out");
return false;
}
 x=document.forms["enquiry"]["Owner_Email_id"].value;
 var atpos=x.indexOf("@");
var dotpos=x.lastIndexOf(".");
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length)
{
 alert("Not a valid e-mail address");
 return false;
}
}

我想要而不是警报功能,它应该返回一个星号(*)和消息请填写此表格,就在字段名称的右侧,请帮助我。提前谢谢..

您可以在每个表单输入旁边放置隐藏的 Div:

<div id="nameOfOwnerError" style="display:none">*</div>

并为每个输入执行此操作,然后您可以选择显示/隐藏它们,具体取决于它们是否有效:

$("#nameOfOwnerError").show();

编辑:尼拉杰 - 试试这个。

在Javascript中(对不起),类似.....

 var nameOfOwnerError = document.getElementById("nameOfOwnerError");
nameOfOwnerError.style.display="visible";

从我的头顶上,但你明白了。要点只是隐藏星号并使用您拥有的代码显示隐藏它们。

编辑2:对不起,Neeraj,未经测试-这对我有用:

document.getElementById('nameOfOwnerError').style.display = "";

使元素重新出现,你可以这样做

...display="none"; 

在JS代码中再次隐藏

Edit3:您可以将 OnKeyUp 事件添加到文本框中,以便在文本框中输入文本时,您可以触发验证脚本:

<input name="Name_of_owner" type="text" onkeyup="validateForm('');" class="textarea-bk-02" id=""  value="" style="border:none; width:330px; margin-left:40px; margin-top:15px; height:20px;"/>

使用 ifs 确定字段是否为空(就像您正在做的那样),您应该能够在用户键入给定文本框后立即显示/隐藏星号。

现在必须去,但这些东西是你正在寻找的,祝你好运!

你不希望它返回一个*。您希望它返回 false(就像它所做的那样)。您还想要在字段旁边画一个 * 以及一条关于您希望他们做什么的消息。

为此,您需要在表单

字段旁边添加一个不可见的div,并在用户尝试提交无效表单时显示它(无论它是什么,基于丢失的数据)。或者,您可以在运行时使用 document.createElement 添加元素,并将其附加到表单域的父级。无论哪种情况,您都必须确保您的HTML容纳额外的元素。