我在我的外部JavaScript文件這樣的功能(已經包括jQuery的主HTML文件):自定義函數內的jQuery VAL()
function userlogin(){
$('#ologinbox').html('<div class="input"><div class="input-text"></div><div class="input-field"><img src="css/images/loading.gif" /></div></div>');
var data = 'username=' + $('#loginusername').val() + '&password=' + $('#loginpassword').val();
alert(data);
}
和我的HTML是這樣的:
<div class="input">
<div class="input-text">UserName: <div>
<div class="input-field"><input name="loginusername" id="loginusername" /></div>
</div>
<div class="input">
<div class="input-text">Password: </div>
<div class="input-field"><input name="loginpassword" id="loginpassword" type="password" /></div>
</div>
<div class="input">
<div class="input-text"></div>
<div class="input-field"><input type="submit" value="Send" onclick="userlogin();return false;"/></div>
</div>
當我點擊按鈕時,在警告框中顯示的$('#loginusername').val()
和$('#loginpassword').val()
的返回值未定義。
我想知道爲什麼?
哇,你的「完整」代碼是「comple」與原來的問題不同(不存在)(http://jsfiddle.net/W6E6J/)。請在發佈之前實際運行您的測試用例,聲稱它們不起作用!)。我相信你可以通過取消AJAX調用來縮小問題的範圍(如果問題消失了,那麼你已經縮小了這個範圍)。 – 2011-04-24 11:59:04
你現在有一個完全不同的兩個問題。請刪除原始的,破損的測試用例,因爲它與您的「完整」代碼沒有任何相似之處。 – 2011-04-24 12:04:24
@Tomalak我給出的第一個代碼是我真實代碼的一個樣本,唯一的問題是我提到的代碼! AJAX調用完美無缺。 – 2011-04-24 12:07:51