2012-09-12 63 views
4

我真的不知道多少的Javascript然而,我希望有人可以帮助我了解如何解决我的问题(禁用)HTML的textarea:灰色出时复选框被选中

我的HTML表单有一个checkbox和那么textarea

<form> 
<input type="checkbox" name="detailsgiven" /> 
<textarea name="details"></textarea> 
</form> 

我希望它这样,当checkbox被选中,使用户无法点击它,然后输入文本textarea被禁用。

我已经看过这里和谷歌,我找不到任何明确的例子如何做到这一点。

我猜这可以在JavaScript中完成,但我感觉有点超出我的深度。有人可以向我解释如何做到这一点,最好不使用第三方库?

+0

当textarea被禁用?我对此不清楚? – swemon

+0

嗨,我编辑了这个问题。对不起,它不是很清楚。 – Sophie

+0

你的意思是当复选框被选中时,textarea被启用? – swemon

回答

8
<form> 
<input type="checkbox" name="detailsgiven" onchange="toggleDisabled(this.checked)"/> 
<textarea name="details" id="tb1"></textarea> 
</form> 

<script> 
function toggleDisabled(_checked) { 
    document.getElementById('tb1').disabled = _checked ? true : false; 
} 
</script> 
+1

'_checked'值如何传递给函数? – Sophie

+0

糟糕!现在编辑答案。 :-) – techfoobar

+0

非常感谢!〜<3 – Sophie

0

这非常容易做到与jQuery。每个人都使用jQuery,所以你应该;-)。

<form> 
    <input type="checkbox" name="detailsgiven" id="detailsgiven" /> 
    <textarea name="details" id="details"></textarea> 
</form> 

<script type="text/javascript"> 
jQuery(document).ready(function($) { 
    $("#detailsgiven").change(function() { 
     if($(this).is(":checked")) {     
      $("#details").attr("disabled", "disabled"); 
     } 
     else { 
      $("#details").removeAttr("disabled"); 
     } 
    }); 
}); 
</script> 
0

试试这个:

if ($('input:checkbox').is(':checked')) { 
    $('textarea').attr('disabled', 'disabled'); 
} 
+0

这当然需要jQuery。 – chris

0
<form> 
<input type="checkbox" name="detailsgiven" onclick="document.getElementById('t').setAttribute('disabled','disabled');" /> 
<textarea id="t" name="details"></textarea> 
</form> 

注意如何使用复选框onclick事件来执行一些JavaScript代码。

如果你给你的html元素ID,你可以通过javascript DOM(文档对象模型)的getElementById方法访问javascripts中的元素。

一旦你有了元素,你可以设置/获取它的属性,做很多事情。

+0

感谢您的解释。这很有道理。您不必将Javascript代码放在'

  • 11. 力复选框被选中
  • 12. JS复选框被选中
  • 13. Jquery复选框被选中?
  • 14. 当复选框被选中
  • 15. 当复选框被选中
  • 16. 当选中RecyclerView中的复选框时,多个复选框也被选中
  • 17. 复选框灰显文字
  • 18. 当复选框2被选中时取消选中复选框1
  • 19. 当选中一个复选框时,多个复选框会被选中?
  • 20. 灰色复选框时,检查另一个
  • 21. 当复选框被选中时出现输入文字?
  • 22. 即使在复选框被选中时也会出错
  • 23. 将复选框的背景设置为白色,并在Android中删除灰色未选中的复选标记
  • 24. 复选框被随机抽查和未选中时,我勾选复选框
  • 25. AlertDialog中的复选框被TextView“推出”
  • 26. 复选框上的火灾事件.change()*在复选框出现后被选中。
  • 27. 灰色的文本框,直到启用复选框
  • 28. 当复选框被选中或未选中时执行操作
  • 29. 动态复选框被选中/取消选中时的警报
  • 30. MS Access窗体中的复选框内的灰色阴影