2012-04-27 76 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

相關問題