簡體   English   中英

我如何在PHP中獲取javascript動態行值?

[英]How do i get the javascript dynamic row values in php?

的jsfiddle

我正在嘗試在nextpage(postdata.php)上打印輸入文本字段值。 但它始終只打印第一行結果。 我沒有在下一頁獲得剩余的行值。 我在jsfiddle上發布了我的完整代碼..如何在php(postdata.php頁面)中獲取剩余的js動態行值?

JS

$(document).ready(function(){
    $("span").click(function(){
        $("#container").append('<tr><td>Email : </td><td><input type="text" name="email[]" placeholder="Email id" /></td> &nbsp; <td>Name : </td><td><input type="text" name="name[]"  placeholder="Your Name "/></td>&nbsp; <td><a title="Delete this row" href="javascript:void(0);" class="remove">Del</a></td></tr>');
    });
    $("#container").on('click','.remove',function(){
        $(this).parent().parent().remove();
    });
});

<?php
    echo "
    <table>
    <tr>   
        <td>
            Email :
        </td>
        <td>
             $_POST[email]
        </td>
        <td>
            Name :
        </td>
        <td>
             $_POST[name]
        </td>
    </tr>
    </table>";
?>

當您在輸入字段的名稱中添加方括號時,PHP將以數組形式接收它的值。 您的JS代碼很好,但PHP代碼根本不處理數組。 請看以下內容:

echo "
<table>";
if(!is_array($_POST['email'])) {
    $_POST['email'] = array($_POST['email']);
    $_POST['name'] = array($_POST['name']);
}

foreach($_POST['email'] as $key => $email) {
    // get the corresponding name to the email
    $name = $_POST['name'][$key];
    echo "<tr>   
        <td>
            Email :
        </td>
        <td>
             $email
        </td>
        <td>
            Name :
        </td>
        <td>
             $name
        </td>
    </tr>";
}

echo "</table>";

注意:此代碼將檢查是否提交了多個值,並且將在兩種方案中都有效。

由於您聲明的字段名稱是數組,因此$ _POST變為多維數組。所以請嘗試這樣

<?php
   $size = sizeof($_POST['email']);
   echo "<table>" ;
   for($i=0; $i<$size;$i++)
   {
    echo "
      <tr>   
        <td>
            Email :
        </td>
        <td>
             ".$_POST['email'][$i]."
        </td>
        <td>
            Name :
        </td>
        <td>
             ".$_POST['name'][$i]."
        </td>
    </tr>
    ";
    }
     echo "</table>";
?>

同樣在你的html NameEmai l字段的name[]分別name[]email[] 。你也錯放了form標簽。 它之后開始<table>和結束后<table> 哪個不對。 所以將form標記之前table標簽

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM