2012-04-27 91 views
1

使用JavaScript;我们可以将其他文本字段设置为依赖于第一个还是之前的文本字段?禁用表单字段,直到前一个字段被JavaScript填充为止

例如,如果我们有名字和姓氏字段,我想禁用姓氏字段,直到为名字输入一个值。

+4

这与PHP有什么关系? – Marty 2012-04-27 05:21:07

+0

是的,它可能与JavaScript – 2012-04-27 05:25:52

+0

有一个原因,你已经去了0与你的问题问5。你需要花更多的精力研究这个话题,并在这里明确你的问题。 – Sinetheta 2012-04-27 05:27:26

回答

0

尝试使用此代码。

<input type="text" name="fname" id="fname" onkeyup="check()" /> 
<input type="text" name="lname" id="lname" disabled="disabled" /> 

的JavaScript

function check() { 
if(document.getElementById('fname').value != "") 
    document.getElementById('lname').disabled = false; 
else 
    document.getElementById('lname').disabled = true; 
} 
+0

你可以使用onblur事件,这将减少通话。 – sgowd 2012-04-27 05:32:19

+0

哈哈...它的工作....感谢很多 – tantan 2012-04-30 05:37:16

+0

同样的事情可以做到没有JavaScript,使该领域的HTML5验证触发了下一个领域的揭示? – David 2013-02-03 21:42:52

0

了。您可以使用JavaScript的“输入”html标签和“onChange”事件(例如)的“只读”属性。这只是客户端功能。不要为此使用php)。

1

我做了一个小提琴,你可以看看:http://jsfiddle.net/phillipkregg/7bkrn/2/

它并不完美,但它会给你的东西玩,并与实践。如果您不填写“名字”字段,则会锁定“姓氏”字段。

如果你想使用jQuery,这是应该做的JavaScript的一个方法:如果你打算使用验证

$(document).ready(function() { 

    $("#first_name_field").focus(); 

    var error_message = "Please add first name."; 

     $("#first_name_field").blur(function() { 
      if ($(this).val() != '') 
      { 
       $("#surname_field").removeAttr("disabled");  
       $("#message").html("");  
      } 
    else {    
       $("#surname_field").attr("disabled", "disabled"); 
       $("#message").append(error_message);  
      }   

     }); 
});​ 

(你应该)比你应该看看一个叫jQuery验证插件 - http://docs.jquery.com/Plugins/Validation

我刚才在这里做了一个快速的一个,告诉你一种方法来做到这一点。

+0

非常感谢你,这是一个很好的帮助:D – tantan 2012-04-30 05:35:36

+0

没问题 - 如果这解决了你的问题,随时将其标记为答案。 – PhillipKregg 2012-04-30 15:06:05

+1

同样的事情可以在没有javascript的情况下完成,以便字段的html5验证触发了下一个字段的显示。 – David 2013-02-03 21:43:22