从数据库中取出一组数据以列表形式显示在页面上,每条记录前有一个”checkbox”供多选记录,而这个checkbox的name是相同的。在jsp中所有被选中的”checkbox”将以数组形式传递到服务器端,这是一个理所应当的方便程序员的设计,但是php恰恰没有这么做……他只传递了最后一个”checkbox”的值!真是不明白为什么要这么设计……
那么我们该如何处理呢?checkbox肯定还是要用的,只需将checkbox的name设定为php的数组形式即可:<input type=checkbox name=pid[] value=’1′>。这样所有选中的checkbox的值就会以数组形式传递到服务器端,但是这里又引发了另外一个问题,就是javascript通过name访问checkbox时会发生错误。解决的办法也很简单就是再给checkbox的id赋值,<input type=checkbox name=pid[] id=pid value=’1′>,javascript通过id访问checkbox,这就绕过了前面的问题。
那么我们该如何处理呢?checkbox肯定还是要用的,只需将checkbox的name设定为php的数组形式即可:<input type=checkbox name=pid[] value=’1′>。这样所有选中的checkbox的值就会以数组形式传递到服务器端,但是这里又引发了另外一个问题,就是javascript通过name访问checkbox时会发生错误。解决的办法也很简单就是再给checkbox的id赋值,<input type=checkbox name=pid[] id=pid value=’1′>,javascript通过id访问checkbox,这就绕过了前面的问题。
本文介绍如何在PHP中正确处理多个被选中的Checkbox值。通过将Checkbox的name属性设置为数组形式,可以确保所有选中的值都能以数组形式传递到服务器端。同时,解决了JavaScript通过name访问Checkbox时可能遇到的问题。
189

被折叠的 条评论
为什么被折叠?



