表单禁用禁用按钮并更改文本

时间:2012-04-01 23:29:09

标签: javascript forms button

我试图在点击时禁用按钮,以及更改按钮的文本。这是我的代码:

<input type="submit" value="Register" name="submit" id="submit" onClick="javascript:replaceButtonText('submit', 'Please wait...'); document.form1.submit.disabled=true;">

发生了什么,按钮被禁用,文本发生了变化,但表单没有做任何事情(提交)。我做错了什么?

2 个答案:

答案 0 :(得分:1)

这有效:

<html>
<body>
    <form name="form1" method="post" action="myaction">
        <input type="text" value="text1"/>

        <input type="submit" value="Register" name="submit" id="submit" 
            onclick="javascript: replaceButtonText('submit1', 'Please wait...'); document.form1.submit.disabled=true; return true; ">
    </form>

</body>
</html>

答案 1 :(得分:1)

带有名称的表单控件可用作使用其名称的表单的命名属性。所以:

document.form1.submit

指的是按钮,而不是提交方法。

写作:

< ... onclick="javascript:..." ...>

意味着“javascript”被视为无用的标签,只是不要这样做。如果您希望该按钮被禁用并在提交表单时更改其标签,请使用以下内容:

<form>
  <input name=foo value=bar>
  <input type="submit" onclick="
    this.value='Please wait...';
    this.disabled = true;
    var theForm = this.form;
    window.setTimeout(function(){theForm.submit();},1);
">
</form>

让表格正常提交。

当然onclick属性中的函数应该是一个函数调用而不是一块代码,但你明白了。