Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 仅当邮件正确时,注册按钮才启用_Javascript_Php_Html_Forms_Email - Fatal编程技术网

Javascript 仅当邮件正确时,注册按钮才启用

Javascript 仅当邮件正确时,注册按钮才启用,javascript,php,html,forms,email,Javascript,Php,Html,Forms,Email,我有一个表格,用于注册用户名,电子邮件,密码和密码确认,并禁用提交按钮。我只想在电子邮件正确的情况下启用该按钮。在我的例子中,我只允许使用“@studio.unibo.it”的电子邮件,而不允许使用其他电子邮件域(前缀电子邮件控件是在Javascript中完成的)。如果一个用户改变了,在该按钮被启用之后,电子邮件,该按钮必须再次被禁用。因此,只有当用户插入一封电子邮件时peter@studio.unibo.it可以注册。 我已经在每个表单字段中设置了“必需”键 是否可以在javascript或p

我有一个表格,用于注册用户名电子邮件密码密码确认,并禁用提交按钮。我只想在电子邮件正确的情况下启用该按钮。在我的例子中,我只允许使用“@studio.unibo.it”的电子邮件,而不允许使用其他电子邮件域(前缀电子邮件控件是在Javascript中完成的)。如果一个用户改变了,在该按钮被启用之后,电子邮件,该按钮必须再次被禁用。因此,只有当用户插入一封电子邮件时peter@studio.unibo.it可以注册。 我已经在每个表单字段中设置了“必需”键

是否可以在javascript或php控件中执行此操作

代码如下: HTML表单

<form action="registration.php" method="post" id="fileForm" role="form">
    <div class="form-group">     
        <label for="firstname"> Username: </label>
        <input class="form-control" type="text" name="Input_Username" id = "txt" onkeyup = "Validate(this)" placeholder="Username" required /> 
        <div id="errFirst"></div>    
    </div>

    <div class="form-group">
        <label for="email"> Email: </label> 
        <input class="form-control" type="text" name="Input_Email" id = "email"  onchange="email_validate(this.value);" placeholder="nome.cognomeX@studio.unibo.it" required />   
        <div class="status" id="status"></div>
    </div>

    <div class="form-group">
        <label for="password"> Password: </label>
        <input name="password" type="password" class="form-control inputpass" minlength="4" maxlength="16"  id="pass1" placeholder="Password" required /> </p>

        <label for="password"> Password Confirm: </label>
        <input name="Input_Password" type="password" class="form-control inputpass" minlength="4" maxlength="16" placeholder="Enter again to validate"  id="pass2" onkeyup="checkPass(); return false;" required />
        <span id="confirmMessage" class="confirmMessage"></span>
    </div>

    <div class="form-group">
        <button type="submit" class="btn btn-default" disabled>Submit</button>
        <button type="reset" class="btn btn-default" value="Reset">Reset</button>
    </div>       
</form><!-- ends register form -->

用户名:
电邮:
密码:

密码确认: 提交 重置
用于密码检查和电子邮件前缀检查的Javascript脚本

 function checkPass()
    {
        //Store the password field objects into variables ...
        var pass1 = document.getElementById('pass1');
        var pass2 = document.getElementById('pass2');
        //Store the Confimation Message Object ...
        var message = document.getElementById('confirmMessage');

        var goodColor = "#66cc66";
        var badColor = "#ff6666";

        if(pass1.value == pass2.value){

            pass2.style.backgroundColor = goodColor;
            message.style.color = goodColor;
            message.innerHTML = "Le password combaciano"
        }else{
            pass2.style.backgroundColor = badColor;
            message.style.color = badColor;
            message.innerHTML = "Le password non combaciano"
        }
    } 

    // validates text only
    function Validate(txt) {
        txt.value = txt.value.replace(/[^a-zA-Z-'\n\r.]+/g, '');
    }
    // validate email
    function email_validate(email)
    {
    var regMail = /^([_a-zA-Z0-9-]+)(\.[_a-zA-Z0-9-]+)*@(studio.unibo.it)$/; //ammesse solo le mail che terminano per @studio.unibo.it !!!

        if(regMail.test(email) == false)
        {
        document.getElementById("status").innerHTML    = "<span class='warning'>L'indirizzo email non è valido.</span>";
        }
        else
        {
        document.getElementById("status").innerHTML = "<span class='valid'>L'indirizzo email è valido.</span>"; 
        }
    }
函数checkPass()
{
//将密码字段对象存储到变量中。。。
var pass1=document.getElementById('pass1');
var pass2=document.getElementById('pass2');
//存储确认消息对象。。。
var message=document.getElementById('confirmMessage');
var goodColor=“#66cc66”;
var badColor=“#ff6666”;
if(pass1.value==pass2.value){
pass2.style.backgroundColor=goodColor;
message.style.color=goodColor;
message.innerHTML=“Le password combaciano”
}否则{
pass2.style.backgroundColor=badColor;
message.style.color=badColor;
message.innerHTML=“Le密码非combaciano”
}
} 
//仅验证文本
函数验证(txt){
txt.value=txt.value.replace(/[^a-zA-Z-'\n\r.]+/g',);
}
//验证电子邮件
功能电子邮件验证(电子邮件)
{
var regMail=/^([[U a-zA-Z0-9-]+)(\.[U a-zA-Z0-9-]+)*@(studio.unibo.it)$/;//ammesse solo le mail che terminano per@studio.unibo.it!!!
if(regMail.test(email)==false)
{
document.getElementById(“status”).innerHTML=“L'indirizzo email nonèvalido。”;
}
其他的
{
document.getElementById(“status”).innerHTML=“L'indirizzo emailèvalido。”;
}
}

在js中您绝对可以做到这一点。但是,在发布表单时,还应该在PHP中对其进行验证。(永远不要相信js验证,因为它在用户浏览器中运行,并且可以被操纵)。我看你已经对它进行了验证了?它能工作吗?或者你遇到了什么错误?如果电子邮件是正确的,我不知道如何启用我的提交按钮。我没有错误,我不知道怎么做。给提交按钮一个id,比如
id=“submit btn”
,然后简单地执行:
document.getElementById('submit-btn')。disabled=false
来启用它。这很好,但是如果用户在按钮启用后修改电子邮件,按钮保持启用状态,并且用户也可以在错误的电子邮件中进行注册,则采用这种方式。如果电子邮件被用户修改,我希望该按钮被禁用。您有“onchange”,因此如果验证失败,只需设置
document.getElementById('submit-btn')。disabled=true
。虽然此代码可以回答问题,提供关于如何和/或为什么解决问题的附加上下文将提高答案的长期价值。
var email = ...; //get your email input
var submit = ...;//get your submit button
email.onchange = function() {
    submit.disabled = !validate(email.value); //validate - your function validates email address
}