2

我有以下表格和javascript:

<script type="text/javascript">
function toggleButton(ref,bttnID){
  document.getElementById(bttnID).disabled= ((ref.value !== ref.defaultValue) ? false : true);
}
</script>

<form action="" method="post" id="subscribe" name="subscribe">
<label>NAME:</label>
<input type="text" name="name" class="subName" onkeyup="toggleButton(this,'bttnsubmit');">
<label>EMAIL:</label>
<input type="text" name="email" class="subEmail" id="sub_email">
<input type="button" name="button" value="Subscribe" disabled='disabled' id='bttnsubmit'/>
</form>

当我第一次加载我的网站时,提交按钮被禁用,正如我所愿,因为文本字段中没有文本。现在我想在文本字段中放置一些文本后启用该按钮。

请问有什么帮助吗?

4

3 回答 3

4

问题中的现有代码运行良好,但在删除文本时被禁用。这可能是其他人所需要的,但您可以进行一些小的更改以将其永久删除而无需 jquery(jquery 不在标签中)

function toggleButton(ref,bttnID){
  document.getElementById(bttnID).removeAttribute("disabled");
}

并添加onkeyup="toggleButton(this,'bttnsubmit')到需要启用按钮的任何字段

于 2013-01-31T18:21:14.620 回答
3

使用 jQuery:

$(document).ready(function() {
     $('#bttnsubmit').attr('disabled','disabled');
     $('input[type="text"]').keyup(function() {
        if($(this).val() != '') {
           $('input[type="submit"]').removeAttr('disabled');
        }
     });
 });

来源:jQuery 禁用/启用提交按钮

于 2013-01-31T18:00:55.527 回答
3

添加完成此操作的最终代码:

<script type="text/javascript">
$(document).ready(function() {
     $('#bttnsubmit').attr('disabled','disabled');
     $('#subEmail').keyup(function() {
        if($(this).val() != '') {
           $('#bttnsubmit').removeAttr('disabled');
        }
        else {
        $('#bttnsubmit').attr('disabled','disabled');
        }
     });
 });
</script>
于 2013-01-31T18:13:20.377 回答