簡體   English   中英

提交表單時發生TypeError

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM