禁用按钮HTML

时间:2011-07-15 20:04:39

标签: php javascript html

我有一个URL的提交表单,我希望它具有到目前为止我无法实现的特定行为。最初我想要启用按钮。有人输入URL并点击“提交”按钮后,我想调用我的checkURL()函数。如果函数返回true,我希望按钮被禁用,然后我想打开remote_file.php。如果它返回false,我希望启用该按钮并让他们尝试另一个URL。

<form name=URLSubmitForm
    action="remote_file.php" 
    method="post">

    <input type="hidden" name="MAX_FILE_SIZE" value="524288000">
    <input type="text" name="name" size="50">
    <input type="submit" 
        onchange="this.disabled=false"
        onclick="this.disabled=true; checkURL();"
        value="submit">
</form>

编辑:看起来我只是把onchange放在错误的地方。我最终这样做是为了修复重新启用按钮

<input type="text" onchange="submit.disabled=false" name="name" size="50">

谢谢!

4 个答案:

答案 0 :(得分:1)

我建议您将事件处理代码附加到表单的 onsubmit 事件,而不是按钮事件。您要控制的是表单是否已过帐。验证逻辑运行时禁用的按钮是次要目标。

请改为尝试:

<script type="text/javascript">
function checkURL(){
    var submitButton = document.getElementById('submitButton');
    submitButton.disabled=true;

    /* implement your validation logic here
    if( url is invalid ){
        submitButton.disabled=false;
        return false;
    }
    */

    // everything is valid, allow form to submit
    return true;
}
</script>

<form name="URLSubmitForm" action="remote_file.php" onsubmit="return checkURL();" method="post">
        <input type="hidden" name="MAX_FILE_SIZE" value="524288000">
        <input type="text" name="name" size="50">
        <input type="submit" name="submitButton" id="submitButton" value="submit">
</form>

答案 1 :(得分:1)

<input type="submit" 
    onclick="if (checkURL()) { this.disabled='disabled'; return true; } else { return false; }"
    value="submit">

答案 2 :(得分:0)

在表单的onsubmit事件中如何:

<form onsubmit="(function(){
    if(checkURL()){
        this.elements['submit'].disabled = 'disabled';
    }
    else{
        return false;
    }
})()">

由于您没有提供任何ajax代码,表单仍会正常提交,当重新加载页面时,该按钮将再次启用。

答案 3 :(得分:0)

的onclick = “checkURL(本);”

function checkURL(arg){
  this.disabled=true;
  if(<something>) this.disabled=false;
}