Javascript 在填充文本区域之前,是否禁用表单提交按钮?

Javascript 在填充文本区域之前,是否禁用表单提交按钮?,javascript,Javascript,有人能帮我一下吗,因为我已经尝试了各种javascripts,让我的表单提交按钮保持禁用状态,直到用户在文本区域输入文本,但没有任何效果 我希望在用户输入某些文本之前禁用“提交”按钮。有什么建议吗 <form action="includes/welcomebio.php" method="post" id="form12" class="form12"> <textarea id="bio" textarea name="bio" data-id="

有人能帮我一下吗,因为我已经尝试了各种javascripts,让我的表单提交按钮保持禁用状态,直到用户在文本区域输入文本,但没有任何效果

我希望在用户输入某些文本之前禁用“提交”按钮。有什么建议吗

  <form action="includes/welcomebio.php" method="post" id="form12" class="form12">          
 <textarea id="bio" textarea name="bio" data-id="bio" placeholder="Hi, my name is Peter. I'm 22 years old from North Wales." onKeyUp="checkWordCount();" data-required="true"><?php echo htmlspecialchars($profile['bio']); ?></textarea>
<input type="submit" class="welcome-submit" name="submit" value="Next ->" id="submit"/>
</form>

    <script type="text/javascript"> 
function disable() 
{ 
if(document.textarea.bio.value=="") 
{ 
document.textarea.submit.disabled=true; 
} 
else 
{ 
document.textarea.submit.disabled=false;    
} 
} 
</script> 

函数禁用()
{ 
if(document.textarea.bio.value==“”)
{ 
document.textarea.submit.disabled=true;
} 
其他的
{ 
document.textarea.submit.disabled=false;
} 
} 

您试图禁用文本区域而不是提交按钮。您的代码不是有效的JavaScript。 最初禁用submit按钮,仅当textarea中有内容时才启用它。此外,由于您正在为textarea使用占位符,您的textarea将永远不会为空,因此请检查

document.getElementById("bio").value = ""

将始终返回false,除非用户对其进行更改。

您的代码有很多错误:

  • 尽量不要使用内联javascript
  • 您的textarea
    onKeyUp
    调用一个不存在的函数
  • 您试图设置错误元素的禁用状态(实际上您的javascript无效)
  • 你也有一些无效的html
  • 这就是你想要的:

    HTML

    试试这个

         <body onload="disable()">
     <form action="includes/welcomebio.php" method="post" id="form12" class="form12">          
     <textarea id="bio" textarea name="bio" data-id="bio" placeholder="Hi, my name is Peter. I'm 22 years old from North Wales." onKeyUp="disable();checkWordCount();" data-required="true"></textarea>
    <input type="submit" class="welcome-submit" name="submit" value="Next ->" id="submit"/>
    </form>
    </body>
        <script type="text/javascript"> 
    function disable() 
    { 
        if(document.getElementById("bio").value=="") 
        { 
        document.getElementById("submit").disabled=true; 
        } 
        else 
        { 
        document.getElementById("submit").disabled=false;    
        } 
    } 
    </script> 
    
    
    函数禁用()
    { 
    if(document.getElementById(“bio”).value==“”)
    { 
    document.getElementById(“提交”).disabled=true;
    } 
    其他的
    { 
    document.getElementById(“提交”).disabled=false;
    } 
    } 
    
    我将如何更改它,然后请禁用提交按钮?将禁用属性添加到提交按钮
    但这样做只是完全禁用了它,即使我在文本区域字段中键入按钮时,按钮仍保持禁用状态。在onkeyup事件处理程序中,检查文本区域的值是否为!=“”然后启用按钮
    window.onload = function () {
        document.getElementById("bio").onkeyup = checkWordCount;
        checkWordCount();
    };
    
    function checkWordCount() {
        if (document.getElementById("bio").value == "") {
            document.getElementById("submit").disabled = true;
        } else {
            document.getElementById("submit").disabled = false;
        }
    }
    
         <body onload="disable()">
     <form action="includes/welcomebio.php" method="post" id="form12" class="form12">          
     <textarea id="bio" textarea name="bio" data-id="bio" placeholder="Hi, my name is Peter. I'm 22 years old from North Wales." onKeyUp="disable();checkWordCount();" data-required="true"></textarea>
    <input type="submit" class="welcome-submit" name="submit" value="Next ->" id="submit"/>
    </form>
    </body>
        <script type="text/javascript"> 
    function disable() 
    { 
        if(document.getElementById("bio").value=="") 
        { 
        document.getElementById("submit").disabled=true; 
        } 
        else 
        { 
        document.getElementById("submit").disabled=false;    
        } 
    } 
    </script>