2011-05-20 44 views
3

我想動態修改某些表單元素的值,更具體地說是某些輸入文本字段。到目前爲止,每當我加載我的html頁面,我只是得到空白輸入字段,但我期待它包含值1。這是我如何嘗試這樣做的一個例子。如何用js/jquery修改文本輸入的值?

<!DOCTYPE HTML> 
<HTML> 
    <HEAD> 
     <script type="text/javascript" src="javascript/jquery-1.6.1.min.js"></script> 
     <script type="text/javascript"> 
     $(document).ready(function(){ 
      var myForm = $(this).getElementById('form1'); 
      myForm.elements['Q01'].value = '1'; 
     }); 
     </script> 
    </HEAD> 
    <BODY> 
     <form id="form1"> 
     <input type="text" name="Q01" maxlength="1" /> 
     </form> 
    </BODY> 
</HTML> 

這需要動態完成的原因是因爲表單的值每次都會有所不同。我是否正確地接近這個?關於如何實現我的預期功能的建議?

- 編輯 -

沒有任何解決方案似乎在做伎倆。下面是我的代碼的更新:

<!DOCTYPE HTML> 
<HTML> 
    <HEAD> 
     <script type="text/javascript" src="javascript/jquery-1.6.1.min.js"></script> 
     <script type="text/javascript"> 
     $(document).ready(function(){ 
       //$("#Q01").val("1"); 
       $("#form1 input[name='Q01']").val("1"); 
       //$("input[name='Q01']").val('1'); 
     }); 
     </script> 
    </HEAD> 
    <BODY> 
     <form id="form1"> 
     <input type="text" id="Q01" name="Q01" maxlength="1" /> 
     </form> 
    </BODY> 
</HTML> 

當我加載的頁面我期待的是,輸入的文本將在它1。但輸入文字一直顯示爲空。有任何想法嗎?

- 編輯 -

這裏是答案得出的解決方案從下面,我想:

<!DOCTYPE HTML> 
    <HTML> 
     <HEAD> 
      <script type="text/javascript" src="javascript/jquery-1.6.1.min.js"></script> 
      <script type="text/javascript"> 
      $(document).ready(function(){ 
        $("#Q01").val("1"); 
      }); 
      </script> 
     </HEAD> 
     <BODY> 
      <form id="form1"> 
      <input type="text" id="Q01" name="Q01" maxlength="1" /> 
      </form> 
     </BODY> 
    </HTML> 
+0

你有一個語法錯誤,這就是爲什麼他們不在準備處理程序中工作。你的')'應該在你的'}後面。 – Chris 2011-05-20 20:24:42

+0

良好的捕捉,這就是爲什麼我的第一個編輯不起作用。 – jbranchaud 2011-05-20 21:23:11

回答

4

如果您正在使用jQuery你可以只改變id屬性name在輸入元素,然後做這樣的事情:

$('#Q01').val('1')

瓦爾方法套SOU可以找到更多在這裏值:http://api.jquery.com/val/

+0

或者$('input [name = q01]')。val('1') – Rob 2011-05-20 16:56:55

+0

@Robert這實際上會更好。我有點生疏我的jQuery – kstev 2011-05-20 16:57:37

+1

最好是直接引用ID而不是搜索名稱爲「q01」的所有輸入。 – 2011-05-20 19:33:30

0
$(document).ready(function(){ 
    $("form input[name='Q01']).val('1');   
)}; 
0

這應該工作:

$("input[name='Q01']").val('1'); 

但是,爲什麼不設置ID對你的投入?

希望它可以工作

+0

好點,我應該使用ID。我可能只是擺脫名字,只是有id。如果你可以用id來引用它,會不會有輸入的名字? – jbranchaud 2011-05-20 17:03:55

+0

那麼,喲不應該擺脫名稱,如果輸入的值將轉到服務器端。 – Cheluis 2011-05-20 18:31:28

+0

你是說如果我要做一些php數據庫交互,那麼我應該保留這個名字? – jbranchaud 2011-05-20 18:42:00

3

你已經準備好了正確的處理程序。其中一個關於jQuery的優點是其選擇引擎。我建議看看documentation以幫助您熟悉它。

做你想要什麼,我建議是這樣的:

$(document).ready(function() { 
    $("#form1 input[name='Q01']").val("1"); 
}); 

#form1相同document.getElementById("form1")input[name='Q01']獲取所有input元素的name屬性等於Q01.val方法將選定的元素值設置爲字符串1

相關問題