【问题标题】:How could I refresh function in 'onsubmit' form everytime new input is put?每次输入新输入时,如何以“onsubmit”形式刷新函数?
【发布时间】:2014-08-27 08:35:03
【问题描述】:

我正在编写一个程序来要求用户输入他们的“名字、姓氏、电子邮件、电话号码”

<script>
function validate1(){
alert ("validate1 called");
var elemFname = document.getElementById("idFname");
var elemFnameValue=elemFname.value;
var elemFnameErr = document.getElementById("idFnameErr");

var elemLname = document.getElementById("idLname");
var elemLnameValue=elemLname.value;
var elemLnameErr = document.getElementById("idLnameErr");

var elemidEmail = document.getElementById("idEmail");
var elemidEmailValue=elemidEmail.value;
var elemidEmailErr = document.getElementById("idEmailErr");

var elemidPhone = document.getElementById("idPhone");
var elemidPhoneValue=elemidPhone.value;
var elemidPhoneErr = document.getElementById("idPhoneErr");


if (elemFnameValue==null || elemFnameValue=="" || elemLnameValue==null ||    elemLnameValue=="" || elemidEmailValue==null || elemidEmailValue=="" ||      elemidPhoneValue==null || elemidPhoneValue==""){


if (elemFnameValue==null || elemFnameValue=="" ){
    elemFnameErr.innerHTML="Require Field";
}
if (elemLnameValue==null || elemLnameValue==""){
        elemLnameErr.innerHTML="Require Field";
}
if (elemidEmailValue==null || elemidEmailValue==""){
        elemidEmailErr.innerHTML="Require Field";
}
if (elemidPhoneValue==null || elemidPhoneValue==""){
        elemidPhoneErr.innerHTML="Require Field";
}

    return false;
}       

else{
    return true;
}

}

和,

<body>
<form onsubmit="return validate1()" action = "contactinfo.php">
First Name<span style="color:red">*</span><input type="text" name = "Fname" size = "10"  id="idFname" />
    <span id="idFnameErr" style="color:red"></span><br>
Last Name<span style="color:red">*</span>
    <input type="text" name = "Lname" size = "10" id="idLname" />
    <span id="idLnameErr" style="color:red"></span><br>
Email<span style="color:red">*</span>
    <input type="text" name = "InpEmail" size = "10" id="idEmail" />
    <span id="idEmailErr" style="color:red"></span><br>
Phone<span style="color:red">*</span>
    <input type="text" name = "InpPhone" size="10" id="idPhone" />
    <span id="idPhoneErr" ></span><br>
<input type="submit" name="submit" value="Submit" /><br>


</form>
</body>

我试图弄清楚如何让它刷新函数 validate() 及其变量(例如 elemFname、elemLname)的输入值 'InpEmail、InpPhone、Fname、Lname。

例如,现在,如果我在 First Name 的“文本输入”中没有添加任何内容,这将返回“false”,并通过 validate(); 在相应文本框旁边给出输出“Require Field”,下次我填写在这个名字的文本框中,其他文本框(电话、电子邮件、姓氏)为空,除了现在为空的其他文本框外,输出“必填字段”仍将保留在“名字”文本框旁边。

请帮助我。

【问题讨论】:

    标签: php html forms repeat onsubmit


    【解决方案1】:

    将您的验证代码添加到每个单独输入的 onchange 中。

    <input type="text" name = "Lname" size = "10" id="idLname" onchange="validate1();"/>
    

    如果你走这条路,你可能希望对每个输入都有一个验证

    【讨论】:

    • 这仍然不会从已填充的字段中删除“必填字段”消息
    • 在验证中您将设置消息,它允许您更好地控制消息的内容。通常我会先将其设置为空白,然后如果它无效,则再次将其更改为错误消息
    【解决方案2】:

    您可以在 if 语句中添加替代条件:

    if (elemFnameValue==null || elemFnameValue=="" ){
        elemFnameErr.innerHTML="Require Field";
    }else{
       elemFnameErr.innerHTML="";
    }
    

    但我会花一点时间来学习 angular.js 或 jquery.validate()

    从长远来看,它将为您节省大量时间

    【讨论】:

      猜你喜欢
      • 2015-06-01
      • 2011-11-07
      • 1970-01-01
      • 2014-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-17
      • 2015-10-21
      相关资源
      最近更新 更多