Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.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只保存输入的第一个字母_Javascript_Php_Jquery_Ajax_Forms - Fatal编程技术网

Javascript AJAX只保存输入的第一个字母

Javascript AJAX只保存输入的第一个字母,javascript,php,jquery,ajax,forms,Javascript,Php,Jquery,Ajax,Forms,我有一个AJAX请求,它序列化表单数据并将其发送到数据库。当数据被序列化时,我看到它在输出中呈现全文,但当它将其存储在数据库中时,它只保存每个单词的第一个字母 例如,它将序列化要发送的内容: splashText=银釉 但如果没有行,数据库将保存: 如果提交的表中有多行,则会在数据库中捕获数据,如下所示: 第1行=S 第2行=i 我想得到的结果如下: 第1行=银釉 第2行将=在该行中选择的下一个选项,依此类推 发布的序列化数据如下(共2行): 用于序列化表单的代码: var form_da

我有一个AJAX请求,它序列化表单数据并将其发送到数据库。当数据被序列化时,我看到它在输出中呈现全文,但当它将其存储在数据库中时,它只保存每个单词的第一个字母

例如,它将序列化要发送的内容:

splashText=银釉

但如果没有行,数据库将保存:

如果提交的表中有多行,则会在数据库中捕获数据,如下所示:

第1行=S 第2行=i

我想得到的结果如下:

第1行=银釉 第2行将=在该行中选择的下一个选项,依此类推

发布的序列化数据如下(共2行):

用于序列化表单的代码:

  var form_data = $(this).serialize() + '&glassText=' + $('.item_glass').children("option").filter(":selected").text() + '&splashText=' + $('.item_splash').children("option").filter(":selected").text() + '&holeText=' + $('.item_HDiam').children("option").filter(":selected").text();
+用于获取输入的文本值,而不是值。我想这可能是问题所在,但我不知道如何解决

PHP帖子:

 for($count = 0; $count < count($_POST["item_name"]); $count++)
 {
  $query = "INSERT INTO tbl_order_items
  (order_id, item_name, item_quantity, item_unit,item_glass, item_splash, item_HQuan,item_HDiam,item_CQuan,item_colour,item_total,user_id)
  VALUES (:order_id, :item_name, :item_quantity, :item_unit,:item_glass,:item_splash,:item_HQuan,:item_HDiam,:item_CQuan,:item_colour,:item_total,:user_id)";
  $statement = $connect->prepare($query);
  $statement->execute(
   array(
    ':order_id'   => $order_id,
    ':item_name'  => $_POST["item_name"][$count],
    ':item_quantity' => $_POST["item_quantity"][$count],
    ':item_unit'  => $_POST["item_unit"][$count],
    ':item_glass'  => $_POST["glassText"][$count],
    ':item_splash'  => $_POST["splashText"][$count],
    ':item_HQuan'  => $_POST["item_HQuan"][$count],
    ':item_HDiam'  => $_POST["holeText"][$count],
    ':item_CQuan'  => $_POST["item_CQuan"][$count],
    ':item_colour'  => $_POST["item_colour"][$count],
    ':item_total'  => $_POST["item_Total"][$count],
    ':user_id'   => $user_id
   )
  );
 }
 $result = $statement->fetchAll();
 if(isset($result))
 {
  echo 'ok';
 }
}
for($count=0;$countprepare($query);
$statement->execute(
排列(
':order\u id'=>$order\u id,
':item_name'=>$\u POST[“item_name”][$count],
':item_quantity'=>$_POST[“item_quantity”][$count],
':item_unit'=>$_POST[“item_unit”][$count],
':item_glass'=>$\u POST[“glassText”][$count],
':item_splash'=>$\u POST[“splashText”][$count],
':item\u HQuan'=>$\u POST[“item\u HQuan”][$count],
':item_HDiam'=>$\u POST[“holeText”][$count],
':item_CQuan'=>$_POST[“item_CQuan”][$count],
':item_color'=>$发布[“item_color”][$count],
':item_total'=>$发布[“item_total”][$count],
':user\u id'=>$user\u id
)
);
}
$result=$statement->fetchAll();
如果(isset($result))
{
回声‘ok’;
}
}
它是一个正在保存的动态表。伯爵就是这样

要在动态表中添加上下文,请参见屏幕截图:


因为您没有提供html代码,所以我假设“Review Quote”按钮是submit按钮。那么,试试这个:

var form_data = $(this).serialize() + '&glassText=' + $('.item_glass').children("option").filter(":selected").text() + '&splashText=' + $('.item_splash').children("option").filter(":selected").text() + '&holeText=' + $('.item_HDiam').children("option").filter(":selected").text()
致:


你能确认并在这里发布你在php中得到的文本吗?请提供php代码。用php代码编辑
$\u post[“item\u name”]
很可能是字符串,而不是数组。因此,执行
$string[0]
将返回
$string
的第一个字母,如果您发送
splashText=Silver glasse
,那么
$\u POST[“splashText”]
确实是一个字符串。因此,
$\u POST[“splashText”][$count]
将是该字符串中的一个字符。
var form_data = $(this).serialize() + '&glassText=' + $('.item_glass').children("option").filter(":selected").text() + '&splashText=' + $('.item_splash').children("option").filter(":selected").text() + '&holeText=' + $('.item_HDiam').children("option").filter(":selected").text()
var glassText = '';
$('.item_glass').each(function(){
    glassText+='&glassText[]='+$(this).find(":selected").text().replace(' ','+');
});

var splashText = '';
$('.item_splash').each(function(){
    splashText+='&splashText[]='+$(this).find(":selected").text().replace(' ','+');
});

var holeText = '';
$('.item_HDiam').each(function(){
    holeText+='&holeText[]='+$(this).find(":selected").text().replace(' ','+');
});

var form_data = $(this).serialize() + glassText + splashText + holeText;