0

我想使用 PHP 提交带有 1 个按钮和 1 个操作目标的多个表单。有可能吗?

HTML

<form name="myform" action="test_post.php" method="post">
Name: <input type='text' name='name' />
</form>

<form name="myform2" action="test_post.php" method="post">
Class: <input type='text' name='class' />
</form>

<a href="javascript: submitform()">Search</a>

JS

function submitform()
{
document.myform.submit();
document.myform2.submit();
}

PHP (test_post.php)

echo $name = $_POST['name'];
echo $class = $_POST['class'];

我尝试使用该代码,但它只是显示$_POST['class']价值。对于名称,它显示错误:Undefined index: name in...

请指教。

4

3 回答 3

0

您不需要每个输入一个表单,您可以在一个表单中拥有一百万个,所以..

<form name="myform" action="test_post.php" method="post">
Name: <input type='text' name='name' />

Class: <input type='text' name='class' />
</form>

<a href="javascript: submitform()">Search</a>

应该没问题,而且你真的不需要js来提交。更好地支持 html 提交输入

<input id="submit" type="submit" value="submit">
于 2013-10-16T02:35:41.190 回答
0

您实际上需要一个表单上的两个字段 - 然后您可以毫无问题地提交:

<form name="myform" action="test_post.php" method="post">
Name: <input type='text' name='name' />
Class: <input type='text' name='class' />
<input type='submit'>
</form>

或者,如果您在 JS 代码中执行其他操作,则无论如何都可以使用一些 JS 提交它。

于 2013-10-16T02:36:11.993 回答
0

如果 jquery 是一个选项,那么 .deferred 可能是您正在寻找的。

function submitform(){
//define a variable where we will store deferred objects
var def = true;

$("form").each(function() {

    var postResult = $.Deferred();

    //.when takes a deferred object as a param. 
    // if we don't pass a deferred object .when treats it as resolved.
    // as our initial value of def=true, the first .when starts immediately
    $.when(def).then(function(){
        $.post('post_destination.php', form.serialize()).done(function(){
            //the chain will fail after the first failed post request
            //if you want all the requests to complete in any case change the above .done to .always
            post.resolve();
        });
    });

    // now we reassign def with the deferred object for the next post request
    def = postResult;
});
}

这是我前段时间问这个问题时的链接。如果数据库更新成功,如何将多个jquery帖子一个接一个地提交到一个页面?

于 2013-10-16T02:52:39.853 回答