1

我有这个:

<form method="post" id="kl" action="step2.php">

<input type="radio" name="rubrik" value="bussines"></input>
<input type="radio" name"rubrik" value="private"></input>

<input type="image" value="submit" src="/images/submit.png" alt="Submit" />

</form>

我想要的是:当第二个单选按钮被选中时,将表单提交给 step2a.php,一个不同的文件。我怎样才能做到这一点?jQuery,Javascript,PHP?

4

4 回答 4

6

您可以使用 JavaScript 执行此操作(绑定一个提交侦听器,该侦听器检查单选按钮的值,然后设置表单的 action 属性),但是按照以下方式执行某些操作(服务器端)会更简单、更可靠:

<form ... action="step-selector.php">

<?php
    if (isset($_POST['rubrik']) && $_POST['rubrik'] == 'bussines') {
        include('step2.php');
    } elseif (isset($_POST['rubrik']) && $_POST['rubrik'] == 'private') {
         include('step2a.php');
    } else {
         include('error-state.php');
    }
 ?>
于 2012-07-16T12:16:29.640 回答
0

您可以通过将表单修改为:

<form method="post" id="kl" action="step2.php">

<input type="radio" class="radio" rel="step2.php" name="rubrik" value="bussines"></input>
<input type="radio" class="radio" rel="step2a.php" name"rubrik" value="private"></input>

<input type="image" value="submit" src="/images/submit.png" alt="Submit" />

</form>

我将 rel 属性添加到单选按钮。每个都有一个 url 的值。我还添加了一个类来使用 jQuery 获取元素。

现在,您将需要一些 Javascript,我将使用 jQuery 代码:

$('.radio').click(function (){
   rad = $(this);
   radRel = rad.attr('rel');
   $('form#kl').attr('action', radRel);
});
于 2012-07-16T12:21:05.180 回答
-1

有多种方法可以做到这一点,具体取决于您到底想要什么。

看看这个,它可能会帮助你到达那里;打开页面的单选按钮

于 2012-07-16T12:17:04.107 回答
-1

您可以使用 form.submit() 作为 onclick-handler(不是 onchange)并更改操作。

<input type="radio" name"rubrik" value="private" onclick="this.parentNode.action='yourOtherFile.php'; this.parentNode.submit()"></input>
于 2012-07-16T12:17:20.060 回答