Javascript POST未捕获所有表单变量
试图找出为什么我的代码没有发送所有POST数据。该代码在主页上用于获取存储在db中的请求信息,并在单独的页面上用于将我所做的状态更新发布到db。它基本上是一样的,除了变量名 注:我在这里搜索了很多。我使用了var_dump,它只显示数组中的“内容”数据。我对js不是很满意,但我能理解其中的一些。因此,下面的代码是一个模板,在尝试扩展到另一个页面之前,我在一个页面上编辑并测试了它。这就是问题所在。我不知道为什么它对其中一个有效,而对另一个无效。抱歉,如果这被认为是重复的东西,但我没有找到一个好的答案在类似的帖子,可以解释为什么。 admin.php:Javascript POST未捕获所有表单变量,javascript,php,html,post,mysqli,Javascript,Php,Html,Post,Mysqli,试图找出为什么我的代码没有发送所有POST数据。该代码在主页上用于获取存储在db中的请求信息,并在单独的页面上用于将我所做的状态更新发布到db。它基本上是一样的,除了变量名 注:我在这里搜索了很多。我使用了var_dump,它只显示数组中的“内容”数据。我对js不是很满意,但我能理解其中的一些。因此,下面的代码是一个模板,在尝试扩展到另一个页面之前,我在一个页面上编辑并测试了它。这就是问题所在。我不知道为什么它对其中一个有效,而对另一个无效。抱歉,如果这被认为是重复的东西,但我没有找到一个好的答
<form action="insert.php" method="post" enctype="multipart/form-data">
<div class="share">
<div class="arrow"></div>
<div class="panel panel-default">
<div class="panel-body">
<div class="">
<img src="../logo.png" style="height:60px; width:60px; float:left; margin-right:3px;" />
<textarea name="content1" id="content1" cols="40" rows="10" class="form-control message" style="height: 60px; width:450px; overflow: hidden;"></textarea>
</div>
</div>
<div class="panel-footer">
<div class="row">
<div class="col-md-7">
<div class="form-group">
<div class="btn-group">
<select name="avatar" id="avatar" class="form-control-issue-avatar"> <----whats not sending
<option value="0" selected="selected">Author</option>
<option value="per1">P</option>
<option value="per2">W</option>
</select>
</div>
</div>
</div>
<div class="col-md-5">
<input type="submit" value="Post" class="post_button">
</div>
</div>
</div>
</div>
</form>
将id属性添加到表单中,然后在表单上使用
serialize()
,以获取表单中的所有数据,并通过ajax传递给php
<form id='formid'>
$.ajax({
data: $('#formid').serialize(),
//other Ajax stuff
});
$.ajax({
数据:$('#formid')。序列化(),
//其他Ajax内容
});
我很困惑,如果你的JS中没有提取头像的值,数据中也没有发送头像的值,或者我遗漏了什么?你只发送了一个变量。你为什么不直接序列化表单呢?这就是我想弄明白的。js与第一页中使用的函数相同。第一页没有问题抓取所有部分(即电子邮件,用户名,文本输入问题)…我没有线索。我试着使用querySelectorAll进行编辑,但没有修复@BarryWalshmade通过将该行“添加”到现有行来修改建议的编辑,没有发现任何区别。也许我用错了?var dump仍然只显示:C:\wamp64\www\post\insert.php:32:array(size=1)'content1'=>string'testttt'(length=7)序列化应该会获得所有表单内容。您像我说的那样将id添加到表单并序列化()?您有两个数据键。删除数据:dataStringPleasure friend:)
$(function() {
$(".post_button").click(function() {
var element = $(this);
var test = $("#content1").val();
var dataString = 'content1='+ test;
if(test=='')
{
alert("Please Enter Some Text");
}
else
{
$("#flash").show();
$("#flash").fadeIn(400).html('<span class="loading">Loading Comment...</span>');
$.ajax({
type: "POST",
url: "insert.php",
data: dataString,
cache: false,
success: function(html){
$("#display").after(html);
document.getElementById('content1').value='';
$("#flash").hide();
}
});
}
return false;
});
});
Array ( [content1] => sass )
C:\wamp64\www\post\insert.php:32:
array (size=1)
'content1' => string 'sass' (length=4)
<form id='formid'>
$.ajax({
data: $('#formid').serialize(),
//other Ajax stuff
});