![](/img/trans.png)
[英]Not able to catch a on-click event on an <a> href with Backbone's Events function
[英]Javascript object obtained from on-click event passed to a function not able to be posted as form
感謝任何見解...
我捕獲表單按鈕單擊事件以進行提交:
$('.saveItem').on( 'click', function(e) {
submitItemSave(true, e);
});
在單擊時調用用戶定義的函數並將事件 e 傳遞給:
function submitItemSave(first_call, currEv) {
它最初會進行一些輸入驗證(即 first_call 參數為真的地方)
然后在沒有驗證錯誤的情況下調用自身,設置“first_call” = false
if(first_call){
$('#multiCribSubmitMsg').show();
setTimeout(function() { submitItemSave(false, currEv) }, 1);
} else {
var currForm;
然后,它在上面的“else”處繼續,設置:
currForm = currEv.currentTarget.closest('form')
我按如下方式轉儲該變量:
console.log('bottom: ', typeof(currForm));
這使:
底部:對象
和:
console.log('last: ', currForm)
這給出了非常類似於表單的輸出,如下所示***。
但是,當我嘗試發布時
$.post('actRequestItemForm.cfm', currForm.serialize(), function() {
$('#multiCribSubmitMsg').hide();
loadUpExistingItems();
});
我得到:
userRequestForm.js:415 Uncaught TypeError: currForm.serialize is not a function at submitItemSave (userRequestForm.js:415:49) at userRequestForm.js:370:31 ...
*** userRequestForm.js:414最后:
<form class="itemForm" name="itemEditForm18221">
<input type="hidden" name="requestId" value="76041">
<input type="hidden" name="itemId" value="18221">
<div class="itemFormLabel reqd">" Crib/Box"::after</div>
<div class="itemFormInput"><input type="number" name="cribBox" id="cribBoxHint" value="5001" required="required" class="expand validateMe ui-autocomplete-input" maxlength=" 50" autocomplete="off"></div>
<div class="itemFormLabel reqd">" Item Number"::after</div>
<div class="itemFormInput"><input type="text" name="itemNumber" value="881804" required="required" class="expand validateMe ui-autocomplete-input" maxlength=" 25" autocomplete="off"></div>
<div class="itemFormLabel reqd">" Quantity"::after</div>
<div class="itemFormInput"><input type="number" name="quantity" value="7" required="required" class="expand validateMe" maxlength=" 2"></div>
<div class="itemFormLabel reqd">" Delivery Location"::after</div>
<div class="itemFormInput"><input type="text" name="ftwDeliveryLocation" value="q / r / s" required="required" class="expand validateMe ui-autocomplete-input" maxlength=" 50" autocomplete="off"></div>
<div class="itemFormValidationMessage"></div>
<input type="button" value="Save Changes" class="saveItem">" "
<input type="button" value="Cancel Changes" class="cancelItemChange">
<input type="button" value="Remove" class="buttonRemove" myid style="display: none;">
</form>
userRequestForm.js:415 Uncaught TypeError: currForm.serialize is not a function
at submitItemSave (userRequestForm.js:415:49)
at userRequestForm.js:370:31
submitItemSave @ userRequestForm.js:415
(anonymous) @ userRequestForm.js:370
setTimeout (async)
submitItemSave @ userRequestForm.js:370
(anonymous) @ userRequestForm.js:303
dispatch @ jquery-1.12.4.min.js:3
r.handle @ jquery-1.12.4.min.js:3
剛剛解決了這個錯誤:
currForm = $(currEv.currentTarget.closest('form'));
每(接受的答案):
在表單驗證的 submithandler ajax 中得到 Uncaught TypeError: form.serialize is not a function
感謝您的關注!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.