ajax中如何實現非同步提交表單
阿新 • • 發佈:2019-02-01
ajax中很重要的一個功能就是實現表單的不重新整理提交,現在我們利用jquery和php實現這個功能
首先我們寫一個表單,我們命名為ajaxform.html,表單的程式碼如下:
<form>
使用者名稱:<input type="text" name="user"/>
</br>
郵 件:<input type="text" name="email"/>
</br>
性 別: 男<input type="radio" name = "sex" value="男"/>
女<input type="radio" name = "sex" value="女"/>
<input type="button" value="提交"/>
</form>
<div id="box">
</div>
下面加了一個id為box的div,用來放待會接受到的資料,將表單提交到user.php中去,user.php的程式碼如下:
<?php
echo $_POST['email'].'-'.$_POST['user'].'-'.$_POST['sex'];
?>
只需要將傳遞來的資料輸出就行,
接下來我們寫jq程式碼,用來實現ajax,jq的程式碼如下:
<script type="text/javascript">
$(function(){
$('form input[type=button]').click(function(){
$.ajax({
type:"POST",
url:'user.php',
data:$('form').serialize(),
success:function(response,status,xhr){
$("#box").html(response);
}
});
});
});
</script>
其中傳遞的資料是表單提交的資料,我們利用jq中的serialize()函式進行封裝(可以減少程式碼量,也不容易出錯),在回撥函式中將傳遞過來的資料加到div中去。
結果如下:
點選提交之後,表單中的資料被加到div中,這樣我們就實現了表單的不重新整理傳遞資料
首先我們寫一個表單,我們命名為ajaxform.html,表單的程式碼如下:
<form>
使用者名稱:<input type="text" name="user"/>
</br>
郵 件:<input type="text" name="email"/>
</br>
性 別: 男<input type="radio" name = "sex" value="男"/>
女<input type="radio" name = "sex" value="女"/>
<input type="button" value="提交"/>
</form>
<div id="box">
</div>
下面加了一個id為box的div,用來放待會接受到的資料,將表單提交到user.php中去,user.php的程式碼如下:
<?php
echo $_POST['email'].'-'.$_POST['user'].'-'.$_POST['sex'];
?>
只需要將傳遞來的資料輸出就行,
接下來我們寫jq程式碼,用來實現ajax,jq的程式碼如下:
<script type="text/javascript">
$(function(){
$('form input[type=button]').click(function(){
$.ajax({
type:"POST",
url:'user.php',
data:$('form').serialize(),
success:function(response,status,xhr){
$("#box").html(response);
}
});
});
});
</script>
其中傳遞的資料是表單提交的資料,我們利用jq中的serialize()函式進行封裝(可以減少程式碼量,也不容易出錯),在回撥函式中將傳遞過來的資料加到div中去。
結果如下:
點選提交之後,表單中的資料被加到div中,這樣我們就實現了表單的不重新整理傳遞資料