在焦点上运行Javascript-更改DIV html文本

在焦点上运行Javascript-更改DIV html文本,javascript,onfocus,Javascript,Onfocus,目前,我正在尝试设置我的联系人表单,以便在输入无效电子邮件时发出错误消息。提交空白或不正确的电子邮件时,页面应执行以下操作: 注册文本更改为“重试” 输入字段中出现红色文本,说明“输入的地址无效” 当用户关注输入字段或按“重试”时;所有表单元素都应返回其原始状态。我已经能够使用onFocus方法将文本从红色变为黑色。我试图创建一个名为reset的小javascript,希望将DIV文本从“Retry”改回“Sign Up” 我确信我的问题在于Javascript。有人能给我指出正确的方向吗 代码

目前,我正在尝试设置我的联系人表单,以便在输入无效电子邮件时发出错误消息。提交空白或不正确的电子邮件时,页面应执行以下操作:

注册文本更改为“重试” 输入字段中出现红色文本,说明“输入的地址无效” 当用户关注输入字段或按“重试”时;所有表单元素都应返回其原始状态。我已经能够使用onFocus方法将文本从红色变为黑色。我试图创建一个名为reset的小javascript,希望将DIV文本从“Retry”改回“Sign Up”

我确信我的问题在于Javascript。有人能给我指出正确的方向吗

代码参考:

您需要帮助的只是重置功能中被注释掉的块吗?如果是这样,您可以尝试jQuery版本,因为您已经加载了jQuery=

以下是将文本颜色更改为红色的重置功能:

$('#email').val('').css('color', '#FF0000').css('font-size', '18px');
以下是将文本颜色更改为黑色的模糊函数。将此项也附加到您的电子邮件输入文本框中,您应该设置:

$('#email').blur().css('color', '#000000');

你需要帮助的只是重置功能的注释块吗?如果是这样,您可以尝试jQuery版本,因为您已经加载了jQuery=

以下是将文本颜色更改为红色的重置功能:

$('#email').val('').css('color', '#FF0000').css('font-size', '18px');
以下是将文本颜色更改为黑色的模糊函数。将此项也附加到您的电子邮件输入文本框中,您应该设置:

$('#email').blur().css('color', '#000000');

一种方法是使用html:

<form action="" method="post">
    <fieldset>
        <label for="emailAddress">Sign up for the newsletter</label>
        <input type="text" id="emailAddress" name="email" />
        <button id="submitButton" type="submit">Submit</button>
    </fieldset>
</form>
还有JavaScript:

var emailEntry = document.getElementById('emailAddress');
var button = document.getElementById('submitButton');
var defaultButtonText = button.innerHTML;

emailEntry.onblur = function(){
    var val = this.value;

    // the following IS NOT a valid test of email address validity
    // it's for demo purposes ONLY

    if (val.length < 5 && val.indexOf('@') == -1){
        button.innerHTML = 'retry';
        button.style.color = 'red';
    }
    else {
        button.innerHTML = defaultButtonText;
        button.style.color = 'black';
    }
};

button.onclick = function(){
    // prevent submission of the form if the email was found invalid
    // and the innerHTML was therefore set to 'retry'
    if (this.innerHTML == 'retry'){
        return false;
    }
};

.

一种方法是使用html:

<form action="" method="post">
    <fieldset>
        <label for="emailAddress">Sign up for the newsletter</label>
        <input type="text" id="emailAddress" name="email" />
        <button id="submitButton" type="submit">Submit</button>
    </fieldset>
</form>
还有JavaScript:

var emailEntry = document.getElementById('emailAddress');
var button = document.getElementById('submitButton');
var defaultButtonText = button.innerHTML;

emailEntry.onblur = function(){
    var val = this.value;

    // the following IS NOT a valid test of email address validity
    // it's for demo purposes ONLY

    if (val.length < 5 && val.indexOf('@') == -1){
        button.innerHTML = 'retry';
        button.style.color = 'red';
    }
    else {
        button.innerHTML = defaultButtonText;
        button.style.color = 'black';
    }
};

button.onclick = function(){
    // prevent submission of the form if the email was found invalid
    // and the innerHTML was therefore set to 'retry'
    if (this.innerHTML == 'retry'){
        return false;
    }
};
.

试试这个:

function validate() {
    if($("#buttonDiv").html()== 'Retry')
    {
        // oops! They are trying to get back to where they were by 
        // re-clicking retry. Let's reset this thing
        reset()
        return false;
    }
    var emDiv = document.getElementById('email') // only look up once.
    if(emDiv) {
        // the space after the . should allow for 6 long
        var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,6})$/;
        var address = emDiv.value;
        // good form issue -- never use == false. use !
        if(!reg.test(address)) {
            emDiv.value = 'Address entered not valid';
            emDiv.style.color = '#bf4343';
            emDiv.style.fontSize = '12px';
            $("#buttonDiv").html( 'Retry' );
            return false;
        }
    }
}
请尝试以下方法:

function validate() {
    if($("#buttonDiv").html()== 'Retry')
    {
        // oops! They are trying to get back to where they were by 
        // re-clicking retry. Let's reset this thing
        reset()
        return false;
    }
    var emDiv = document.getElementById('email') // only look up once.
    if(emDiv) {
        // the space after the . should allow for 6 long
        var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,6})$/;
        var address = emDiv.value;
        // good form issue -- never use == false. use !
        if(!reg.test(address)) {
            emDiv.value = 'Address entered not valid';
            emDiv.style.color = '#bf4343';
            emDiv.style.fontSize = '12px';
            $("#buttonDiv").html( 'Retry' );
            return false;
        }
    }
}


请在此处发布相关代码。发布您的html和迄今为止尝试创建的JavaScript。那么,您是否试图在用户关注文本输入时重置按钮标签以注册?我在帖子底部发布了实时代码。我想这就足够了,这样你就可以看到预期的视图。@kavin.mansel-准确地说:。除了按钮文本外,我可以将所有内容都更改回原始内容。我认为最好在javascript中执行所有这些操作。我设置了用于此目的的重置。我喜欢尼克斯处理这件事的方式。由于某些原因,我的实现是不正确的。如您所见,使用此方法,文本不会从红色变回黑色。请在此处发布相关代码。发布您的html以及您迄今为止尝试创建的JavaScript。因此,当用户关注文本输入时,您是否尝试重置按钮标签以注册?我在帖子底部发布了实时代码。我想这就足够了,这样你就可以看到预期的视图。@kavin.mansel-准确地说:。除了按钮文本外,我可以将所有内容都更改回原始内容。我认为最好在javascript中执行所有这些操作。我设置了用于此目的的重置。我喜欢尼克斯处理这件事的方式。由于某些原因,我的实现是不正确的。如您所见,使用此方法,文本不会从红色变回黑色。然后,您可以在所有必须重置的元素上使用相同的概念。我建议使用类而不是这样做。这会更容易管理和维护。嗯,我最初试图让重置更改电子邮件ID的样式,但我遇到了奇怪的问题。我决定在onFocus中声明这些样式。我可以删除注释并将其更新为您建议的方法。好的,因此我更新了重置脚本,并将onFocus更改为运行重置。现在我失去了文本从红色变回黑色的功能。我敢肯定,我要么调用错误,要么在声明重置函数时做了不正确的事情。是这些变化的实时链接:嗨,乔希。您当前正在对onfocus事件使用reset,该事件正在将文本更改为black=>000。如果希望文本为红色,只需将其更改为FF0000红色即可。如果文本默认为黑色或onblur,则必须在此处附加黑色字体。然后,您可以在需要重置的所有元素上使用相同的概念。我建议使用类而不是这样做。这会更容易管理和维护。嗯,我最初试图让重置更改电子邮件ID的样式,但我遇到了奇怪的问题。我决定在onFocus中声明这些样式。我可以删除注释并将其更新为您建议的方法。好的,因此我更新了重置脚本,并将onFocus更改为运行重置。现在我失去了文本从红色变回黑色的功能。我敢肯定,我要么调用错误,要么在声明重置函数时做了不正确的事情。是这些变化的实时链接:嗨,乔希。你是科伦
对onfocus事件使用reset,该事件当前正在将文本更改为black=>000。如果希望文本为红色,只需将其更改为FF0000红色即可。如果文本默认为黑色或onblur,则必须在此处附加黑色字体。因此,这似乎利用了重置JS I设置。我想我写的方式可能有问题。当我尝试自己运行它时,它不会执行预期的结果:。因此,它似乎利用了reset JS I设置。我想我写的方式可能有问题。当我尝试自己运行它时,它不会执行预期的结果:。