我的按钮需要在输入字段后更新

时间:2014-01-21 10:53:24

标签: javascript html forms javascript-events

我有以下问题,我使用带有一些输入字段的HTML制作了一个表单。 我还使用以下JS代码禁用了提交按钮:

  if(document.forms['form'].inputfield1.value == "")
    {
    document.forms[0].submit.disabled=true;
    }
    else {  
    document.forms[0].submit.disabled=false;
    }

这很好,每当我加载页面按钮被禁用,但当我填写的东西它没有启用。

但每当我在输入字段中放置一个值时,就像这样:

<input type="text" name="inputfield1" size="3" maxlength="3" value="12345">

我加载页面按钮已启用,证明JS代码工作正常。

我不知道是否有人在使用输入字段或类似内容之后刷新按钮。

我是JS和PHP的新手,非常感谢任何帮助!

2 个答案:

答案 0 :(得分:0)

您需要使用javascript事件来检测值何时更改并运行验证。我会建议onkeyup,因为您可能会在用户输入时想要它。

这可以通过javascript完成,如下所示......

创建一个onload事件以在页面加载时触发,这将为您的输入注册事件处理程序并调用初始检查以设置默认状态:

window.onload = function(){
    document.getElementsByName("inputfield1")[0].onkeyup = validateForm;
    validateForm();
};

然后你的功能进行验证:

function validateForm(){
    if(document.forms['form'].inputfield1.value == "")
    {
        document.forms[0].submit.disabled=true;
    }
    else {  
        document.forms[0].submit.disabled=false;
    }
}

答案 1 :(得分:0)

您可以使用onkeyup功能来完成此操作

<input type="text" name="inputfield1" size="3" maxlength="3" value="12345" onkeyup='check()'>

function check() {
  if(document.forms['form'].inputfield1.value == ""){
    document.forms[0].submit.disabled=true;
}
else {  
    document.forms[0].submit.disabled=false;
}
}