我有一个jQuery表单,我在其中创建了一系列复选框:
<?php
<form method="post" id="b-form" action="../createb.php">
for ($i=0; $i<$request_count; $i++){
<div class="request-check">
<table>
<tr>
<td><input type="checkbox" name="show_request[]" value="request".$i." checked="checked"/>select request</td>
</tr>
</table>
</div>
}
Run Code Online (Sandbox Code Playgroud)
JavaScript的
$.ajax({
type: 'POST',
url: '../createb.php',
data: $('#b-form').serialize(),
success: function (msg){
alert(msg);
}
})
Run Code Online (Sandbox Code Playgroud)
目前,createb.php正在测试表单
$requests = $_POST['show_request'];
$request_count = count($requests);
echo 'count: '.$request_count;
echo $requests[0];
Run Code Online (Sandbox Code Playgroud)
问题是序列化函数只看到第一个复选框并指示它是否已被检查.它没有看到任何其他复选框.有没有人知道为什么其他复选框没有被序列化以及如何处理它?
谢谢大卫
我已经阅读了许多类似的问题,但未能将URL更改为SEO友好名称.这很奇怪,因为我相信我的要求应该很简单.因此,我将具体希望找到我所缺少的东西.在我把它放在服务器上之前,我正在本地机器上进行测试.
这是我得到的:
http://localhost/ggs2/forms/mymain.php
Run Code Online (Sandbox Code Playgroud)
这就是我想要的
http://localhost/ggs2/goals
Run Code Online (Sandbox Code Playgroud)
在ggs2子目录中,我有一个.htaccess文件,内容如下:
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^/goals$ /forms/mymain.php
Run Code Online (Sandbox Code Playgroud)
当我点击指向目标的链接时,URL尚未被修改.
所以:
谢谢