各位大神,是这样的,我要把若干数据逐组传递给adc.php执行;我知道一组一组的传可以用以下代码方式。但是如果我想传递很多组,不需要手工一组一组的输入,怎么办?
<script> <br />$(document).ready(function(){ <br />$("#submit").click(function(){ <br />var name=$("#name").val(); <br />var scores=$("#scores").val(); <br /> location.href=”adc.php?name=”+name+”&scores=”+scores; <br />} <br /></script>
思路应该是 数组 json传递 接收解析 foreach循环
可以啊 你把名字全部输出一个框中用个统一的分隔符分隔号 直接传递给php后explode一下就行 或者你在前端用string.splite()也行
比如你输入了: 小王 100 小张 121 小刘 541 张三 555 李四 410 都用空额分隔好
前端处理的话
var str = ' 小王 100 小张 121 小刘 541 张三 555 李四 410';var data = str.splite(" ");var urlparam = "?a=1";//多传一个没用的参数保持数据格式 方便下面循环for(var i = 0 ; i<data.length;1++){if(i%2 == 0){ urlparam += "&name[]="+data[i];}else{ urlparam += "&scores[]="+data[i]}} location.href="abc.php"+urlparam;
可以使用textarea保存,一行一个用户
然后,PHP根据换行来解释。
例如:
html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <title> 提交 </title> </head> <body> <form name="form1" id="myform" method="post" action="server.php"> <p>数据:<textarea name="data"></textarea></p> <p><input type="submit" name="b1" onclick="fsubmit()" value="提交"></p> </form> </body></html>
<?php$data = $_POST['data'];$arr = explode("\r\n", $data);$result = array();for($i=0,$len=count($arr); $i<$len; $i++){ if($arr[$i]!=''){ list($name, $score) = explode(',', $arr[$i]); $result[] = array( 'name' => $name, 'score' => $score ); }}print_r($result);?>
Array( [0] => Array ( [name] => 小王 [score] => 100 ) [1] => Array ( [name] => 小张 [score] => 121 ) [2] => Array ( [name] => 小刘 [score] => 541 ) [3] => Array ( [name] => 张三 [score] => 555 ) [4] => Array ( [name] => 李四 [score] => 410 ))
谢谢各位大神提供的思路和方法,我没有全部学会,但我大概学会了2楼的。谢谢大家。