[英]jQuery serialize function with multiple values
我嘗試使用jQuery將多個值發布到PHP頁面,然后將該值用作單個值。
我從Jquery站點的代碼開始:
<form ><br>
<select name="multiple" multiple="multiple">
<option selected="selected">Multiple</option>
<option>Multiple2</option>
<option selected="selected">Multiple3</option>
</select>
<br>
<br>
</form>
<p><tt id="results"></tt></p>
<script>
function showValues() {
var str = $( "form" ).serialize();
$( "#results" ).text( str );
}
$( "input[type='checkbox'], input[type='radio']" ).on( "click", showValues );
$( "select" ).on( "change", showValues );
showValues();
</script>
結果是: multiple=Multiple&multiple=Multiple2
,這很好。
現在mycproblem是如何將這些值發布到test.php
頁面,然后使用唯一值,如下所示:
$multiple=[first value]
$multiple2=[second value]
etc...
改變你multiple
到multiple[]
在您的形式。 這會將您的值提交為多個[] =第一個值,多個[] =第二個值等等。
jQuery的,
$('form').on('submit', function(e)
{
e.preventDefault();
formData=$('form').serialize();
$.ajax(
{
type: "POST",
url: "test.php",
data: formData,
success: function(data)
{
alert("Form submitted");
},
error: function()
{
alert("Error in form submission");
}
});
});
在PHP端,
$multiple=$_POST['multiple']; // Get the array input
現在分別繼續處理這些值,
foreach($multiple as $key => $value)
{
echo "value number $key is $value"; // This will print as value number 0 is 1st value, value number 1 is 2nd value and more.
}
您必須使用AJAX將表單發布到test.php。 嘗試這個 -
$("form").on('submit', function(ev){
ev.preventDefault();
var form = $(this);
var action = 'test.php';
var data = $(this).serialize();
$.post(action, data)
.done(function(response){
if(response.success == false)
{
// If failed
}
else
{
// If successfully submitted
}
});
});
另一方面(test.php),你會得到一個像這樣的多個值的數組,
$multiple1 = $_POST['multiple']['0'];
$multiple2 = $_POST['multiple']['1'];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.