PHP,是否有可能在form2中有form1,并且动作form1不刷新form2


PHP, is it posible to have form1 inside form2, and action form1 not refresh the form2

这是一个简单的多选择表单,选择用户并传递给输入用户

<form method="post" action="">
    <input name='input1' type='text'/>
    <input name='input2' type='text'/>
    <input name='input3' type='text'/>
    <select name="user[]" multiple="multiple" ondblclick="this.form.submit()">
        <option value="1">user1</option>
        <option value="2">user2</option>
        <option value="3">user3</option>
    </select>
    <input  type="text" name='selectedusers' value="<?php
      if (isset($_POST['user'])){
        $con = $_POST['user'];
        foreach($con as $user_single)
            echo '-'.$user_single; }
        ?> "/>
    <input type="Submit" value="abc" name="abc" />
</form>

这里的想法是保留最后输入的input1, 2和3,并选择。但是在这里,如果我使用多选,前面的输入会变成空白。

如何保持以前的输入值,并使多选择传递选定的值输入名称selectedusers和提交表单..

我认为HTML标准不允许表单嵌套。我曾经遇到过同样的情况,我在http://www.w3.org/TR/html5/forms.html#the-form-element上看到了这个。

内容模型:流内容,但没有表单元素的后代。

。HTML拒绝表单元素嵌套。那么,是不是不可能在form2里面有form1呢?

但是你可以在同一个表单中使用多个提交。您可以通过"name"answers"value"属性来区分提交。

<form>
<input type="submit" name="submit" value="Submit 1" />
<input type="submit" name="submit" value="Submit 2" />
</form>
<?php
if(isset($_POST['submit']) and $_POST['submit']=="Submit 1")
{
...
}
if(isset($_POST['submit']) and $_POST['submit']=="Submit 2")
{
...
}
?>

如果你尝试使用

extract($_POST);

在表单提交区域。

,然后给表单字段赋值。