e.target
指向一個表單元素。我試圖遍歷每個輸入元素並收集名稱和值,所以我可以將它們作爲參數傳遞給a .load()
。 .each()
迭代器永遠不會找到<input>
元素,因此退出而不處理任何內容。該表格包含一個包含輸入的div
元素。爲什麼不能.each()找到子元素?
var formData = {};
$(e.target).has(":input").each(function(){
formData[$(this).name] = $(this).value;
});
的HTML表單:
<div id="partner-settings-form" class="ui-dialog-content ui-widget-content" scrolltop="0" scrollleft="0" style="display: block; width: auto; min-height: 67.6875px; height: auto;">
<article class="sign_in form-dialog clearfix">
<div class="bg-form-dlg">
<div class="col_100 clearfix">
<h2>UPS Shipping Information</h2>
<form enctype="application/x-www-form-urlencoded" class="sign_in_form sign_up_form" action="" method="post"><div class="zend_form">
<input type="hidden" name="partnerId" value="2" id="partnerId">
<div class="shippingdetails"><fieldset id="fieldset-account">
<div id="key-label" class="formlabel"><label for="key" class="required">Access Key: *</label></div>
<div id="key-element" class="formcontent">
<input type="text" name="key" id="key" value="..."></div>
<div id="id-label" class="formlabel"><label for="id" class="required">User ID: *</label></div>
<div id="id-element" class="formcontent">
<input type="text" name="id" id="id" value="..."></div>
<div id="password-label" class="formlabel"><label for="password" class="required">Password: *</label></div>
<div id="password-element" class="formcontent">
<input type="text" name="password" id="password" value="..."></div>
<div id="account_number-label" class="formlabel"><label for="account_number" class="required">Account Number: *</label></div>
<div id="account_number-element" class="formcontent">
<input type="text" name="account_number" id="account_number" value="..."></div>
<div id="address1-label" class="formlabel"><label for="address1" class="required">Address1: *</label></div>
<div id="address1-element" class="formcontent">
<input type="text" name="address1" id="address1" value="..."></div>
<div id="address2-label" class="formlabel"><label for="address2" class="optional">Address2:</label></div>
<div id="address2-element" class="formcontent">
<input type="text" name="address2" id="address2" value=""></div>
<div id="phone-label" class="formlabel"><label for="phone" class="required">Phone: *</label></div>
<div id="phone-element" class="formcontent">
<input type="text" name="phone" id="phone" value="..."></div>
<div id="city-label" class="formlabel"><label for="city" class="required">City: *</label></div>
<div id="city-element" class="formcontent">
<input type="text" name="city" id="city" value="Los Angeles"></div>
<div id="state-label" class="formlabel"><label for="state" class="required">State (code): *</label></div>
<div id="state-element" class="formcontent">
<input type="text" name="state" id="state" value="CA"></div>
<div id="country-label" class="formlabel"><label for="country" class="optional">Country:</label></div>
<div id="country-element" class="formcontent">
<select name="country" id="country" class="dlg-select">
<option value="US" label="UNITED STATES" selected="selected">UNITED STATES</option>
<option value="AF" label="AFGHANISTAN">AFGHANISTAN</option>
<option value="..." label="...">...</option>
</select></div>
<div id="postal-label" class="formlabel"><label for="postal" class="required">Postal Code: *</label></div>
<div id="postal-element" class="formcontent">
<input type="text" name="postal" id="postal" value="90036"></div></fieldset></div>
<div>
<p><label id="configship-label"> </label>
<input type="submit" name="configship" id="configship" value="Save Information"></p></div></div></form></div>
</div>
</article>
</div>
'$(e.target)。兒童( 「輸入」)每個(函數(){FORMDATA [$ (this).name] = $(this).value;});' –
'formData'到底是什麼? – 2013-07-09 10:41:19
順便說一句,'$ .has()'返回布爾值,如果選擇器匹配並在父選擇器內找到。你應該使用:'$ .find()'來代替。 – 2013-07-09 10:42:30