多个表单和提交按钮,但只有一个提交?

时间:2014-06-06 09:13:35

标签: php html forms

我在一个页面上有两个表单,每个表单都有一个提交按钮。

我需要每个按钮只提交其指定的表单。

有谁知道我该怎么做?

以下是代码:

<body>

    <?php 

        include ("test.txt")

    ?>

    <br> <br>
    <form name = "contactForm" action = "php/text_write.php" method = "post">

        <textarea rows = "10" cols = "50" name = "text_input">Replace this text with what you want to print on screen</textarea> <br> <br>  
        <input type= "submit" name = "write_text" value = "Edit Text!">

    </form>


</body>

<body>

    <form action="php/upload/upload_file.php" method="post" enctype="multipart/form-data">


    <label for="file">Filename:</label>


    <input type="file" name="file" id="file"><br><br>


    <input type="submit" name="upload" value="Submit">

</body>

3 个答案:

答案 0 :(得分:1)

将第二种形式更改为此

<body>

<form action="php/upload/upload_file.php" method="post" enctype="multipart/form-data">


<label for="file">Filename:</label>


<input type="file" name="file" id="file"><br><br>


<input type="submit" name="upload" value="Submit">

</form>

</body>

答案 1 :(得分:0)

您将无法在纯HTML中实现您想要的效果。原因是当用户点击提交按钮时,浏览器必须准备HTTP POST请求。此请求的内容由按下提交按钮的表单的字段定义。然后浏览器需要接受HTTP响应,在此过程中销毁另一个表单的内容。

但是你可以使用javascript来做你需要的事情。您可以使用表单提交方法,但不允许浏览器离开您的页面。这样,来自特定表单的HTTP POST将到达Web服务器。但是,Web服务器响应将被忽略。技术上会做你想要的,但绝对是糟糕的用户体验。因此,我不打算深入研究如何实现它的技术细节,你应该为所有形式的所有元素使用单个表单和单个提交按钮。

解决它并拥有多种形式的另一种方法(我个人不喜欢这样的解决方案)是使用框架,其中每个框架都有自己的形式和提交按钮。框架将为表单提供独立性级别。但请注意,这些天框架并不受欢迎。

答案 2 :(得分:0)

你不能有一个提交按钮来控制html中的两个表单,它是每个表单及其提交按钮。

因此,您的表单代码应更改为;

第一种形式:

<?php 

    include ("test.txt")

?>

<br> <br>
<form name = "contactForm" action = "php/text_write.php" method = "post">

    <textarea rows = "10" cols = "50" name = "text_input">Replace this text with what you want to print on screen</textarea> <br> <br>  
    <input type= "submit" name = "write_text" value = "Edit Text!">

</form>

你的第二张表格

<form action="php/upload/upload_file.php" method="post" enctype="multipart/form-data">


    <label for="file">Filename:</label>


    <input type="file" name="file" id="file"><br><br>


    <input type="submit" name="upload" value="Submit">

</form>