我有一个javascript,它通过一个带有固定列和不同行的html表,并将文本框中的值分配给变量,其中一个是数组。 对于每一行,我想将值插入到mysql表中。 出于测试目的,我使用字段调用“nome”创建一个小表调用“teste”。 每当从按钮调用checkForm时,它会在表“teste”下插入一个新寄存器,但字段“nome”为空。 谁可以帮我这个事? 问候, 若阿金
<script type="text/javascript">
function checkForm()
{
var tabela = document.getElementById("t02")
var c=tabela.rows.length;
var cnt=0;
var arr = new Array(12);
for(var i=2; i<=c-1; i++)
{
cnt++;
soc=document.getElementById("sc"+cnt).innerHTML;
arr[0]=document.getElementById("st"+cnt).value;
arr[1]=document.getElementById("ot"+cnt).value;
arr[2]=document.getElementById("nv"+cnt).value;
arr[3]=document.getElementById("dz"+cnt).value;
arr[4]=document.getElementById("ja"+cnt).value;
arr[5]=document.getElementById("fv"+cnt).value;
arr[6]=document.getElementById("mr"+cnt).value;
arr[7]=document.getElementById("ab"+cnt).value;
arr[8]=document.getElementById("mi"+cnt).value;
arr[9]=document.getElementById("ju"+cnt).value;
arr[10]=document.getElementById("jl"+cnt).value;
arr[11]=document.getElementById("obs"+cnt).value;
for(var a =0; a<=11; a++)
{
if(!arr[a]=="")
{
//alert(soc);
var nom = new XMLHttpRequest();
nom.open("POST","gravaMensalidade.php",true);
nom.onreadystatechange = function()
{
if( this.readyState != 4) return;
if( this.status != 200) return alert("ERROR
"+this.status+" "+this.statusText);
alert(this.responseText);
};
nom.send("nome="+soc);
}
}
}
}
</script>
<?php
/*
* To change this license header, choose License Headers in Project
Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
include 'ligabd.php';
$query="INSERT INTO TESTE(nome) VALUES('".$_POST['nome']."')";
$res=mysqli_query($l, $query);
?>
答案 0 :(得分:0)
打印$ _POST值很可能会决定您的问题,因为我认为它没有正确发送。
我认为您需要为POST请求添加标头,因此它知道如何查找发送的POST数据。尝试添加:
etree.tostring(root, method="html")
在使用nom.send之前
如果这不能解决你的问题,我建议你print_r($ _ POST),看看你实际上是什么。