gpt4 book ai didi

javascript - jQuery - 发布时非法调用

转载 作者:行者123 更新时间:2023-12-02 17:09:06 24 4
gpt4 key购买 nike

我正在创建一个联系表单,当我执行它时,我收到以下错误:

Uncaught TypeError: Illegal invocation

这是我的代码,似乎找不到问题所在。如果您想实时查看问题:Link goes here

$(document).ready(function() {

var submit = $('#contact input[type="submit"]');

var name = $('#contact input[name="name"]');
var email = $('#contact input[name="email"]');
var company = $('#contact input[name="company"]');
var phone = $('#contact input[name="phone"]');
var skype = $('#contact input[name="skype"]');
var budget = $('#contact ul.budget span.value');
var message = $('#contact textarea');

// validation
$(submit).click(function() {
event.preventDefault();
var proceed = true;

if( name.val().length == 0 ) {
$(name).addClass('animated bounce');
proceed = false;
}
if ( email.val().length == 0 ) {
$(email).addClass('animated bounce');
proceed = false;
}
if ( budget.hasClass('notset')) {
$('.budget').addClass('animated bounce');
proceed = false;
}
if ( message.val().length == 0 ) {
$(message).addClass('animated bounce');
proceed = false;
}
if ( name.val().length == 0 || email.val().length == 0 || budget.hasClass('notset') || message.val().length == 0 ) {
setTimeout(function () {
$('input, .budget, textarea').removeClass('animated bounce');
}, 1000);
}

// if form is correctly filled
if(proceed) {

post_data = {'cName':name, 'cEmail':email, 'cCompany':company, 'cPhone':phone, 'cSkype':skype, 'cBudget':budget, 'cMessage':message};

$.post('contactsubmit.php', post_data, function(response){

if(response.type == 'error')
{
output = response.text;
}else{
output = response.text;
}

alert(output);
}, 'json');
}
});

});

我以前用过它,现在我对验证做了一些更改,只是稍微清理了一下,它就开始让我困惑。

感谢我能得到的所有帮助。

谢谢!

最佳答案

您的发布数据如下所示

post_data = {'cName':name, 'cEmail':email, 'cCompany':company, 'cPhone':phone, 'cSkype':skype, 'cBudget':budget, 'cMessage':message};

请注意,您引用的所有变量都是 jQuery 对象

var name        = $('#contact input[name="name"]');
var email = $('#contact input[name="email"]');
var company = $('#contact input[name="company"]');
var phone = $('#contact input[name="phone"]');
etc ...

您无法使用 $.post 发送 jQuery 对象,这是“非法调用”,您可能需要该值

var post_data = {
cName : name.val(),
cEmail : email.val(),
etc ...
}

关于javascript - jQuery - 发布时非法调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24975825/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com