第一代碼Jquery的函數的衝突:用PHP形式
<script type="text/javascript">
(function($){
$countForms = 1;
$.fn.addForms = function(idform){
var myform = "<table>"+
" <tr>"+
" <td>Field A ("+$countForms+"):</td>"+
" <td><input type='text' name='field["+$countForms+"][a]'></td>"+
" <td>Field B ("+$countForms+"):</td>"+
" <td><textarea name='field["+$countForms+"][b]'></textarea></td>"+
" <td><button>remove</button></td>"+
" </tr>"+
"</table>";
if(idform=='mybutton'){
myform = $("<div>"+myform+"</div>");
$("button", $(myform)).click(function(){ $(this).parent().parent().remove(); });
$(this).append(myform);
$countForms++;
}
};
})(jQuery);
$(function(){
$("#mybutton").bind("click", function(e){
e.preventDefault();
var idform=this.id;
if($countForms<3){
$("#container").addForms(idform);
}
});
});
<?php
$ligax=mysqli_connect('localhost','root');
if(!$ligax){
echo '<p> Falha na ligação.'; exit;
}
mysqli_select_db($ligax,'dados_arrays');
if (isset($_POST['field']))
{
echo '<table>';
foreach ($_POST['field'] as $diam)
{
// here you have access to $diam['top'] and $diam['bottom']
echo '<tr>';
echo ' <td>', $diam['a'], '</td>';
echo ' <td>', $diam['b'], '</td>';
echo '</tr>';
}
echo '</table>';
}
?>
<body>
<div id="container"><div>
<form method="post" name="b" >
<table>
<tr>
<td>Field A</td>
<td><input type='text' name='field[0][a]'></td>
<td>Field B</td>
<td><textarea name="field[0][b]"></textarea></td>
<td><button>remove</button></td>
</tr>
</table>
</div>
</div>
<button id="mybutton">add form</button>
<div align="center">
<p><input type="submit" value="Registar" name="registar"></p>
</div>
<?php
if($ligax) mysqli_close($ligax);
?>
</body>
代碼的第一部分是複製我的表單的字段時,我需要一個jquery功能。 第二個是窗體本身和$ _POST方法來接收來自窗體的值。
我的問題是,這部分「foreach($ _POST ['field'] as $ diam)」沒有捕獲到來自jquery重複字段的值。也許是因爲這是它在頁面運行後出現的東西,我不知道。這就是爲什麼我需要幫助和建議。我怎樣才能捕捉來自jQuery產生的輸入值?
謝謝!
您正在尋找
你可以轉儲後變量,看看你提交表單後它拿着什麼? – 2012-07-12 13:27:35
我在html的輸入上插入「aaa」和「bbb」,在jquery生成的輸入上插入「ccc」,「ddd」。 dump變量的結果:array(2){[「field」] => array(1){[0] => array(2){[「a」] => string(3)「aaa」[「b 「] => string(3)」bbb「}} [」registar「] => string(8)」Registar「}沒有跡象從jquery的輸入:/ – user1511579 2012-07-12 16:06:40