Rumah  >  Artikel  >  hujung hadapan web  >  html中Form表单提交时页面不跳转的方法详解

html中Form表单提交时页面不跳转的方法详解

黄舟
黄舟asal
2018-05-26 16:32:2321719semak imbas


1.1 解决方案一
        表单action提交数据,但页面不跳转,可以使用Iframe解决。
实例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Form提交表单页面不跳转</title>
</head>
<body>
    <form action="" method="post" target="myIframe">
        <label for="input_text">账户:</label>
        <input type="text" id="input_text" name="input_text">
        <label for="input_pwd">密码:</label>
        <input type="text" id="input_pwd" name="input_text">
        <input type="submit" id="submit" name="submit" value="提交">
    </form>
    <iframe id="myIframe" name="myIframe"></iframe>
</body>
</html>

注意:Form元素的target属性一定是指定要显示返回结果的iframe元素的name属性。
            Iframe元素可以放到body中的任何位置,也可以放到form元素中。

1.2 采用Ajax来实现,无刷新技术
       用javascript直接读取input元素的值,然后放到函数中的变量让ajax去处理。
实例——js serialize或serializeArray方法来序列化表单数据:

<form>  
First name: <input type="text" name="FirstName" value="Bill" /><br />  
Last name: <input type="text" name="LastName" value="Gates" /><br />  
</form>  
<button id="btn">序列化表单值</button>
$("#btn").click(function(){
var x=$("form").serializeArray();  
console.log(x); //执行结果:[{name: "FirstName", value: "Bill" },{name: "LastName",  value: "Gates" }]
var y=$("form").serialize();
console.log(y); //执行结果:FirstName=Bill&LastName=Gates 
});

注意:serializeArray()方法会返回一个json值,而serialize()方法则会返回一个string值。

Atas ialah kandungan terperinci html中Form表单提交时页面不跳转的方法详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn