
echo "<td><input type='text' name='btn[]' size='5' value='" . $row['button'] . "'/></td>";echo "<td><input type='text' name='itm[]' size='5' value='" . $row['item'] . "'/></td>";echo "<td><input type='text' name='prc[]' size='5' value='" . $row['price'] . "'/></td>";
这是发送到PHP页面,我有…
$buttonArray = $_POST['btn'];$itemArray = $_POST['itm'];$priceArray = $_POST['prc'];$numberofItems = count($itemArray);for ($i=0; $i<$numberofItems; $i++){$sql = "UPDATE concessions SET button = '".$buttonArray[$i]."',item = '".$itemArray[$i]."',price = '".$priceArray[$i]."'";MysqL_query($sql);} 我想在Js中做类似的事情,查看document.form.elements,但无法弄清楚如何发送(如和数组)我可以使用for循环来循环.欢迎任何建议.
解决方法 有一种非常简单的方法:使用这个简单的JavaScript函数(确保你加载了最近的jquery)$.fn.serializeObject = function(){ var o = {}; var a = this.serializeArray(); $.each(a,function() { if (o[this.name] !== undefined) { if (!o[this.name].push) { o[this.name] = [o[this.name]]; } o[this.name].push(this.value || ''); } else { o[this.name] = this.value || ''; } }); return o;}; 此函数将按正确的顺序序列化您的表单元素,并将输出一个JavaScript对象.
你需要像AJAX一样使用它来解析你的值:
var objects = $("#ID_OF_YOUR_FORM").serializeObject();$.AJAX({ url: "your_AJAX_file_location.PHP",type: "POST",data: ({ objects:objects,otherdata:otherdata }),success: function(msg){ /* do whatever here */ } }); AJAX将自己做魔法并在PHP数组中自动转换该对象并将其发布到PHP …试试这个:
echo "<pre>".$_POST['objects']."</pre>";
PHP数组应如下所示:
{ btn= array( "your btn1 info","your btn2 info","your btn3 info" ); itm= array( "your itm1 info","your itm2 info","your itm3 info" ); prc= array( "your prc1 info","your prc2 info","your prc3 info" );} 从这种类型的数组中,很容易在PHP中 *** 作以更新数据库
总结以上是内存溢出为你收集整理的获取可变大小的表单到javascript和PHP(AJAX)全部内容,希望文章能够帮你解决获取可变大小的表单到javascript和PHP(AJAX)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)