我有多个复选框,其中多个名称定义为(内联HTML):
echo "<td>"
echo "<input type = \"checkbox\" name=\"name\" value=\"$name\">";
echo "<input type = \"hidden\" name=\"user\" value=\"$user\">";
echo "</td>"
选中并提交此复选框后,它会将带有相应值的名称发送给另一台服务器。我使用Ruby和Sinatra作为另一台服务器来接收信息。对于那些熟悉Sinatra的人,我们使用“params”数组方法。例如,让我们说:
$name = Bob
$user = Bob123
然后当我点击提交时,我可以在Sinatra中获取以下信息,
puts params[:name] #===>Bob
puts params[:user] #===>Bob123
如果仅选中并提交了一个复选框,则这非常简单,但如果选中多个复选框,则会变得复杂。使用数组而不是单个变量不起作用。我的目标是每检查一个复选框就向服务器提交一次。我做了一些研究,似乎我需要使用javascript来做到这一点:
print "<script type=\"text/javascript\">\n";
function submit_data(){
if (submit) {
for each checkbox checked {
Send data to sinatra
}
}
}