2015-03-30 55 views
0

我在頁面上有幾種形式。這些表格實際上是貝寶「添加到購物車」按鈕。當用戶點擊一個按鈕時,一個警告框會要求輸入他們的郵政編碼。如果郵政編碼在okZips數組中,我想以編程方式通過提交按鈕鏈接到購物車,但我無法完全獲得將.submit()附加到的正確元素。選擇正確的元素來觸發表單提交功能

$(this).add("div.check-zip").add("form:first").submit();//this submits the first form on the page 
$(this).add("div.check-zip").add("form").submit();//this submits the last form on the page 
$(event.target).add("form").submit();//this doesn't submit anything 
$(myEvent).add("form").submit();//this submits the last form where myEvent is a global variable 

筆可以在這裏找到: http://codepen.io/enielsen0001/pen/KwEbzz

如何選擇正確的元素應用.submit()?我是否會以這種錯誤的方式去做這件事?

+0

'.submit()'是'form'元素的一種方法。它是POJS,而不是jQuery。 – 2015-03-30 21:08:55

+0

@roxxypoxxy非常感謝。我是JS/JQuery的新手,我非常沮喪。你真的幫助澄清如何使用_event_。混合使用JS和JQuery只是醜陋的,還是有其他原因? – 2015-03-31 11:10:14

+0

Jquery是一個JavaScript庫,它本身可以幫助用戶訪問DOM。所以,當你包含jquery時,你應該使用Jquery方法。那麼你可以用普通的javascript做你用jQuery做的事情,但是包含jquery沒有任何意義。一個良好的編程習慣是遵循一個慣例並保持一致。您可以使用普通的js或jquery來訪問DOM,但不要隨意混淆它們.BTW您應該在我的回答中提供該評論,因爲它是回覆我的回答,而不是回答您的問題本身。 – roxxypoxxy 2015-03-31 15:03:47

回答

0

你不會走錯路,但它絕對是最糟糕和最骯髒的方式。好像你不知道你在做什麼。你的課程搞砸了,你正在混合使用jQuery和普通的js,你正在使用while和for。看起來你有意複製粘貼的代碼而不知道它是什麼。在發佈問題之前,請提供至少初學者的js/jQuery知識。

但是,這裏是更新的筆http://codepen.io/anon/pen/NPJJwJ

您需要提交的實際表單對象才能工作。

// myEvent is event itself not element 
$(myEvent.target).parent("form").submit(); 

我重構了涉及while和for循環的東西。比較你的代碼和更新的代碼。希望它有幫助: