2013-09-01 39 views
1

我目前正在尝试创建一个网页,您可以在一个窗体中使用一个按钮提交多个输入。 这是代码:以一种形式提交多个输入?

<form id="additem" name="item" action="add_item.php" method="get">Item Name: 
    <input type="text" name="name"> 
    <br> 
    <br>Amount: 
    <input type="text" name="amount"> 
    <br> 
    <br>Description: 
    <input size=1 00 type="text" name="desc"> 
    <br> 
    <br> 
    <select> 
     <option value="picture">Picture</option> 
     <option value="sculpture">Sculpture</option> 
     <option value="painting">Painting</option> 
     <option value="quilt">Quilt</option> 
     <option value="clothing">Clothing</option> 
     <option value="Pottery">Pottery</option> 
    </select> 
    <br> 
    <br> 
    <?php session_start(); if(isset($_SESSION[ 'upload_pic'])==t rue){ echo 
    "<img src =".$_SESSION[ 'upload_pic']. "><br>"; unset($_SESSION[ 'upload_pic']); } 
    ?> 
    <form action="upload_file.php" method="post">Image: 
     <br> 
     <label for="file">Filename:</label> 
     <input type="file" name="file" id="file"> 
     <br> 
     <input type="submit" name="submit" value="Upload"> 
    </form> 
    <br> 
    <br> 
    <input type="submit" name="add" value="Add"> 
</form> 

目前,当我点击“添加”按钮,它什么都不做,不加载,不会刷新。我不知道为什么。如果任何人有任何关于为什么发生这种情况的建议,这将是非常棒的。

+4

您不能在HTML中嵌套窗体。将图片上传表格放在主表格的外面,并使用CSS使其出现在正确的位置。 –

+0

谢谢!这解决了我的问题。有没有办法接受这个答案,或者我应该注意并放弃它? – Ulxlx

回答

1

对于file type您需要将content-type设置为multipart/alternative才能上传。此外,我不看表格分配给select

0

形式的任何名称是不能接受的,你能做到这一点,你不能嵌套形式这样做他们在一起,但是没有嵌套

0

MDN形式文档:

注意:严格禁止将表单嵌套在另一个表单中。 这样做可能会以不可预知的方式运行,取决于用户正在使用的浏览器 。

因此,删除嵌套表格,并将upload_file.php的最终php代码添加到add_item.php

1

请勿使用嵌套窗体。请使用以下属性enctype:

<form action="upload.php" method="post" enctype="multipart/form-data"> 
<label for="file">Filename:</label> 
<input type="file" name="file" id="file"><br> 
<input type="submit" name="submit" value="Submit"> 
</form>