将提交数据的表单将有10到100个值发送到PHP文件。输入的数量存储在我的javascript函数中名为count的变量中,但我不知道如何将其值传递给我的PHP文件。
我的另一个想法是让一个while循环检测到一个空值,并在while循环中有一个计数器来保持计数。
我该如何处理?
答案 0 :(得分:3)
无需提交计数。您只需将动态数量的值作为数组提交即可。您可以在name
属性中使用PHP数组表示法:
Input 1: <input type="text" name="myvar[]" />
Input 2: <input type="text" name="myvar[]" />
...
Input n: <input type="text" name="myvar[]" />
在PHP方面,$_REQUEST['myvar']
将是一个数组。
答案 1 :(得分:1)
我认为可能有更“正确”的方法来做到这一点,但我会做的事情(不知道更好的方法)有一个隐藏的表单元素,如
<input id="hidden_count" type="hidden" name="count" value="" />
然后有一个名为onsubmit的函数设置此值并返回true以告诉表单继续
(使用jQuery)
function onSubmitFunc(){
$('#hidden_count').val(count);
return true;
}
我确信这是一个更优雅的解决方案,但这应该可以满足您的需求。
答案 2 :(得分:1)
在不了解更多有关您的实现的情况下,我建议使用后两种方法:使用PHP循环遍历$ _POST数组并计算您拥有的有效值。这是最好的选择,因为它更安全可靠。
答案 3 :(得分:0)
如果您可以访问Javascript,最简单的方法是在客户端将数据转换为JSON,将其作为单个字符串变量发送到服务器,并使用json_decode
服务器返回正确格式化的值。您可以对表单上的提交事件做出反应,让Javascript在发送数据之前计算JSON。
否则,您可以让Javascript输出表单中特定隐藏变量的字段数。然后,服务器可以读取该值,并在其输入中按键查找数据。
答案 4 :(得分:0)
我猜你使用javascript来创建额外的输入元素,如果只是命名升序,你可以使用count来遍历$ _POST数据。或者使用隐藏的元素形式来计算新的输入元素并发布它,这样你就可以得到正确的数字,并知道你应该计算多长时间。
答案 5 :(得分:0)
也许我没有得到这个,但是如果你的JS文件中的count
对应于发送到你的PHP文件的input
中的form
元素的数量,为什么不{ {1}}他们在服务器端。数据将位于count()
数组中。