Javascript发送了错误的值


Javascript sending the wrong value

我正试图使用ajax从表单向mysql数据库发送值。我通过获取表单的父项目,然后获取id="email"的子元素来选择值,如您所见。。。

var email = $(this).parent("article").children("#email").val() //gets the user's email

然而,当我将数据发送到php文件上传到mysql数据库时,它似乎做错了什么,并且没有存储键入的值,而是存储了一个函数(如下所示)。。。这是怎么回事!?

function (a) {var c,d,e,g=this[0];{if(!!arguments....

您可以尝试find()方法:

.children()方法与.find()方法的不同之处在于,.childred()只在DOM树中向下移动一个级别,而.find)也可以向下遍历多个级别来选择子元素(孙元素等)。

var email = $(this).parent("article").find("#email").val() 

看起来有点令人困惑。您使用的是#email,这意味着一个id,页面上只能有一个id。jQuery将识别该标签,并默认使用本机的"getElementById"浏览器方法。

所以这个:

var email = $(this).parent("article").children("#email").val()

可以转换为:

var email = $("#email").val()