Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ajax post数据错误[object HTMLCollection]_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript ajax post数据错误[object HTMLCollection]

Javascript ajax post数据错误[object HTMLCollection],javascript,jquery,ajax,Javascript,Jquery,Ajax,我写这个脚本是为了在我的网站上创建一个联系人表单,但是一切都正常,而不是将数据存储在我的数据库中all is get is [对象HTMLCollection]c 有人告诉我这是什么吗? 还是出了什么问题?我已经在谷歌上看过了,但是我找不到很多关于它的信息 <script type="text/javascript"> //when the button is clicked $(document).ready(function() { $("#bu

我写这个脚本是为了在我的网站上创建一个联系人表单,但是一切都正常,而不是将数据存储在我的数据库中all is get is
[对象HTMLCollection]
c 有人告诉我这是什么吗? 还是出了什么问题?我已经在谷歌上看过了,但是我找不到很多关于它的信息

<script type="text/javascript">

    //when the button is clicked



    $(document).ready(function() {

    $("#button").click(function() {



        $('.small').hide();



              var name = $("input#name").val();

            if (name == "") {

          $("span#name").show();

          return false;

        }



              var name = $("input#email").val();

            if (name == "") {

          $("span#email").show();

          return false;

        }



              var name = $("input#subject").val();

            if (name == "") {

          $("span#subject").show();

          return false;

        }



             var name = $("textarea#message").val();

            if (name == "") {

          $("span#message").show();

          return false;

        }







        var dataString = 'name='+ name + '&email=' + email + '&subject=' + subject + '&message=' + message;



            $.ajax({

          type: "POST",

          url: "/scripts/send_message.php",

          data: dataString,



          });

    $("#messagearea").load("console/new_message_profile.php?sent=1");

    });

    });

    </script>

//单击按钮时
$(文档).ready(函数(){
$(“#按钮”)。单击(函数(){
$('.small').hide();
变量名称=$(“输入名称”).val();
如果(名称==“”){
$(“span#name”).show();
返回false;
}
var name=$(“输入#电子邮件”).val();
如果(名称==“”){
$(“电子邮件”).show();
返回false;
}
变量名称=$(“输入对象”).val();
如果(名称==“”){
$(“主题”).show();
返回false;
}
var name=$(“textarea#message”).val();
如果(名称==“”){
$(“span#message”).show();
返回false;
}
var dataString='name='+name+'&email='+email+'&subject='+subject+'&message='+message;
$.ajax({
类型:“POST”,
url:“/scripts/send_message.php”,
数据:dataString,
});
$(“#messagearea”).load(“console/new#message_profile.php?sent=1”);
});
});

您正在对所有其他字段重复使用变量
name
。您需要将字段名更改为相应的输入id

var name = $("input#email").val();    // needs to be email 
var name = $("input#subject").val();  // needs to be subject 

正如@Namit所提到的,您在任何地方都使用
name
作为变量。构建字符串时,
电子邮件
主题
消息
未初始化


他们应该给你一个未定义的
——但是不行,因为Internet Explorer有一种奇怪的行为(请参阅),这些变量包含DOM元素。由于您似乎有多个具有相同id的元素(永远不要这样做),这里有一个
和一个
,变量甚至似乎包含
HTMLCollection
对象。当您将它们与其他字符串连接时,它们被强制转换到字符串
[object HTMLCollection]

所有的变量名都与
name
相同,并且您试图传递未在AJAX中初始化的变量。请缩进适合阅读的代码。您的代码几乎不可读。请考虑适当的压痕和间距。