![](/img/trans.png)
[英]Uncaught TypeError: Cannot read property 'element' of undefined when submitting form
[英]TypeError when submitting form
我收到以下錯誤:
TypeError: val.replace is not a function
這顯示了主要的jquery.js文件,似乎無法跟蹤問題。 我已將代碼簡化為基本要點,以嘗試找出問題所在,但無濟於事。 我所做的只是在代碼中alert(data)
,但這不會觸發。 相反,該表單似乎需要重新提交,並且在Firebug的我的發布標簽中,有2個提交事件。 如果有人可以提出解決此問題的方法,我將不勝感激。
我想補充一點,驗證工作正常,但是當涉及到提交處理程序時,這就是問題所在。
非常感謝
JS
$(function() {
$.validator.setDefaults({
errorClass: 'form_error',
errorElement: 'span',
ignore: ":hidden:not(select)",
errorPlacement: function(error, element) {
error.appendTo(element.siblings('span'));
}
});
$("#USRboxrtv").validate({
rules: {
requested: {
required: true
},
service: {
required: true
},
rtvdept: {
required: true
},
address2: {
required: true
},
box_rtv: {
required: true
}
},
messages: {
requested: {
required: '* required: You must enter your name'
},
rtvdept: {
required: "* required: You must select a department"
},
address2: {
required: "* required: You must select a customer address"
},
service: {
required: "* required: You must select a service level"
},
box_rtv: {
required: "* required: You must enter a box for retrieval"
}
},
submitHandler: function() {
if ($("#USRboxrtv").valid() === true) {
var data = $("#USRboxrtv").serialize();
alert(data);
}
}
});
});
HTML輸入
<p>
<input name="submit" class="usersubmit" type="submit" value="Submit" />
<input name="formreset" class="usercancel" type="reset" />
</p>
好的,因此錯誤消息是由於此行而導致var data = $("#USRboxrtv").serialize();
。 我不知道是什么原因,但是如果您在google上搜索此錯誤 ,則會發現該錯誤在serialize函數中。 確保滿足必要條件才能序列化工作。 您尚未提供$("#USRboxrtv")
的HTML,因此我不確定這種情況下的錯誤在哪里。 順便說一句,您是否正在使用最新版本的jquery?
val將返回一個字符串或未定義。 我認為在您的情況下,val未定義,這是因為您遇到此錯誤。
正如您在其中一篇文章中所述:
$(".chosen-select").val('').trigger("chosen:updated");
在此代碼中,您實際上是為$(".chosen-select")
分配一個空值,這會導致此錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.