2013-04-30 64 views
0

有人可以請幫忙,因爲我已經嘗試過各種javascripts讓我的表單提交按鈕保持禁用,直到用戶輸入文本到textarea但nothings工作。禁用表單提交按鈕,直到textarea被填充?

我想提交按鈕被禁用,直到用戶輸入一些文本。有什麼建議嗎?

<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> 

回答

0

您正試圖禁用textarea而不是提交按鈕。您的代碼不是有效的JavaScript。 保持最初禁用提交按鈕,並且只有當textarea中有東西時才啓用它。此外,由於您使用的是佔位符的文本區域,您的textarea絕不會是空的,所以對於

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

檢查,除非用戶改變它總是返回false。

+0

如何將我改變那麼就請給DISABL e提交按鈕? – 2013-04-30 10:13:48

+1

將禁用的屬性添加到提交按鈕。 '」id =「submit」disabled />' – 2013-04-30 10:14:47

+0

但是這只是完全禁用它,即使當我輸入textarea字段按鈕保持禁用 – 2013-04-30 10:17:44

3

有很多事情你的代碼錯誤:

  1. 儘量不要使用內嵌的JavaScript
  2. 您的textarea onKeyUp調用不存在
  3. 您要設置的禁用狀態的功能錯誤的元素(你實際上有無效的JavaScript)
  4. 你有一些無效的HTML太

這是你想要什麼:

HTML

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

JAVASCRIPT

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; 
    } 
} 

Here is a working example

+0

良好的答案... +1使用數據屬性作爲偉大的提醒... – nicorellius 2015-05-05 22:01:35

0

試試這個

 <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> 
相關問題