我将此脚本编写为网站上的联系表格,但是一切正常,但是不是将数据存储在我的数据库中,而是[object HTMLCollection]
c
有人告诉我这是什么吗?
还是出了什么问题?我看过Google,但是找不到很多信息。
<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>
最佳答案
正如@Namit所提到的,您在任何地方都将name
用作变量。构建字符串时,email
,subject
和message
未初始化。
它们应该给您一个undefined
-但是没有,由于Internet Explorer行为异常(请参见Is there a spec that the id of elements should be made global variable?),这些变量包含DOM元素。由于您似乎有多个具有相同ID(从不做)的元素(此处为<span>
和<input>
),因此变量甚至似乎都包含HTMLCollection
对象。当您将它们与其他字符串合并时,它们将强制转换为字符串[object HTMLCollection]
。