2011-07-10 124 views
-1

我有以下一個簡單的形式;jQuery .val()返回錯誤

<form method="post" action="inc/core.php"> 
    <input type="textbox" name="lognick" value="samp" /> 
    <input type="password" name="logpass" /> 
</form> 

我試圖讓他們的價值通過;

var logname = $("input[name=lognick]").val(); 
var logpass = $("input[name=logpass]").val(); 

logname總是返回「samp」(缺省值)並且logpass未定義。我也嘗試使用.attr("value"),但它是相同的結果。

當試圖在空白頁面上使用它時,它的工作完美無瑕。 這是整個onclick函數; http://pastebin.com/pQiVAuEW

謝謝!

+0

你能做出的jsfiddle,說明了什麼問題? http://jsfiddle.net/ –

+0

根據你的jQuery版本,你可以試試'.prop('value')'? – pimvdb

+3

我會使用ID而不是名稱 – bevacqua

回答

0

我無法複製該問題,我能夠訪問該值罰款。密碼框沒有值,所以它應該是未定義的。

參見this JSFiddle

-1

您試過$('#some_id').val()document.getElementById("some_id").value?如果他們不工作,你是否在正確的地方調用函數?可能會發生這樣的情況,代碼(JavaScript我猜想)在表單的寫入階段運行,而不是在輸入值之後運行。

-1

真的很難複製這個「bug」。該解決方案上面並沒有爲我工作,但我的作品。最後:d

<input id="myId" name="myName" onchange="$(this).attr('custom_val',$(this).val());" type="text" /> 

然後就得到這樣的價值:

var myValue= $("input#myId").attr("custom_val");