我试图在点击时禁用按钮,以及更改按钮的文本。这是我的代码:
<input type="submit" value="Register" name="submit" id="submit" onClick="javascript:replaceButtonText('submit', 'Please wait...'); document.form1.submit.disabled=true;">
发生了什么,按钮被禁用,文本发生了变化,但表单没有做任何事情(提交)。我做错了什么?
答案 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属性中的函数应该是一个函数调用而不是一块代码,但你明白了。