2015-09-15 80 views
-1

我試圖使用jQuery提交多份表格..但問題是我收到此錯誤信息jQuery的多形式和PHP文件文件submition

未定義指數:用C BOX3:\ XAMPP \ htdocs中\測試\ approve_test.php第4行

我的HTML/jQuery代碼:

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 
 
<SCRIPT LANGUAGE="JavaScript" type="text/javascript"> 
 
/* Collect all forms in document to one and post it */ 
 
function submitAllDocumentForms() { 
 
    var arrDocForms = document.getElementsByTagName('form'); 
 
    var formCollector = document.createElement("form"); 
 
    with(formCollector) 
 
    { 
 
     method = "post"; 
 
     action = "approve_test.php"; 
 
     name = "formCollector"; 
 
     id = "formCollector"; 
 
     processData: false; 
 
     contentType: false; 
 
    } 
 
    for(var ix = 0 ; ix < arrDocForms.length ; ix++) { 
 
     appendFormVals2Form(arrDocForms[ix], formCollector); 
 
    } 
 
    document.body.appendChild(formCollector); 
 
    formCollector.submit(); 
 
} 
 

 
/* Function: add all elements from frmCollectFrom and append them to 
 
      frmCollector before returning frmCollector*/ 
 
function appendFormVals2Form(frmCollectFrom, frmCollector) { 
 
    var frm = frmCollectFrom.elements; 
 
    for(var ix = 0 ; ix < frm.length ; ix++) 
 
     frmCollector.appendChild(frm[ix]); 
 
    return frmCollector; 
 
} 
 
</SCRIPT> 
 
</head> 
 
<body> 
 

 
<FORM METHOD=POST ACTION="approve_test.php" NAME="form1" id="form1"> 
 
    <INPUT TYPE="text" NAME="box1" size="20" > 
 
</FORM> 
 
FORM2: 
 
<FORM METHOD=POST ACTION="approve_test.php" NAME="form2" id="form2"> 
 
    <INPUT TYPE="text" NAME="box2" size="20" > 
 
</FORM> 
 
<FORM METHOD=POST ACTION="approve_test.php" NAME="form2" id="form2"> 
 
    <INPUT TYPE="file" NAME="box3" > 
 
</FORM> 
 

 
<INPUT TYPE="button" value="Submit Form all" onClick="submitAllDocumentForms()"> 
 

 
</body> 
 
</html>

和php:

<?php 
 
    $name=trim($_POST["box1"]); 
 
    $fname=trim($_POST["box2"]); 
 
    $file_name=$_FILES["box3"]["name"]; 
 
    echo $name."<br>".$fname."<br>".$filename; 
 
?>

有人可以幫助plzz ......我只是個初學者....

+1

當你的帖子有同樣的動作時,需要什麼樣的不同形式? –

+0

它只是一個演示,我在做什麼...有多種形式的設計目的。 –

+0

你不能合併表單到單一形式? –

回答

0

這裏是要

HTML部分

<!DOCTYPE html> 
    <html> 
    <head> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 
    <script LANGUAGE="JavaScript" type="text/javascript">    
     function submitAllDocumentForms() { 
       $("#aaa").val($('form').serialize()); 
     } 
    </script> 
    </head> 
    <body> 

     <FORM id="form1" method="post"> 
      <INPUT TYPE="text" NAME="box1" size="20" > 
    </FORM> 
    FORM2: 
    <FORM id="form2" method="post"> 
     <INPUT TYPE="text" NAME="box2" size="20" > 
    </FORM> 
    <FORM id="form3" method="post" enctype="multipart/form-data" action="<?= base_url("dummy/aaa") ?>"> 
     <INPUT TYPE="file" NAME="box3" > 
     <input type="hidden" name="a" id="aaa" /> 
     <INPUT TYPE="submit" value="Submit Form all" onClick="submitAllDocumentForms()"> 
    </FORM> 



</body> 
</html> 
代碼

PHP部分

$arr = explode("&", $_POST['a']); 

    foreach ($arr as $item) { 
     $array = explode("=", $item); 
     $post[$array[0]] = $array[1]; 
    } 

    $file_name = $_FILES["box3"]["name"]; 
    echo $post['box1']. "<br>" . $post['box2']. "<br>" . $file_name; 
+0

:(仍然不工作 –

+0

它是一個工作的例子,你得到什麼錯誤? –

+0

禁止訪問! 你沒有權限訪問請求的對象。它是讀取保護或不可讀的服務器。 如果你認爲這是一個服務器錯誤,請與網站管理員聯繫。 錯誤403 本地主機 的Apache/2.4.16(Win32的)的OpenSSL/1.0.1p PHP/5.6.12 –