2013-09-01 41 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>