鍍金池/ 問答/HTML/ 關(guān)于form表單提交問題

關(guān)于form表單提交問題

現(xiàn)在要寫一個注冊頁面,請問用form表單提交和 直接取input 的vlaue 值提交,這兩種方式的區(qū)別是什么?原來一直都是用直接取值的方式做的登錄、注冊這種頁面;

或者下面寫法有問題的麻煩指點一下

form表單方式


<form  id="form">
        <div>
            <label for="username">請輸入用戶:</label>
            <input type="text" name="username" required="required" placeholder="請輸入用戶名" id="username">
        </div>
        <div>
            <label for="mobile">請輸入電話:</label>
            <input type="text" name="mobile" required="required" placeholder="請輸入電話:" id="mobile">
        </div>
        <div>
            <label for="password">請輸入密碼:</label>
            <input type="password" name="password" required="required" placeholder="密碼" id="password">
        </div>
        <input type="submit" value="注冊" class="btn">
    </form>
    
    //js 
     form = $("#form");
    form.data().submit = function (){
        form.data() = $.post(url,{
            username:form.data().username,
            mobile: form.data().mobile,
        })
    }

直接取值方式

<input type="text" name="username" required="required" placeholder="請輸入用戶名" id="username">
<input type="text" name="mobile" required="required" placeholder="請輸入電話:" id="mobile">

//js
var username = $('username').val();
var mobile= $('mobile').val();

$.post(url,{
    username:username,
    mobile:mobile
});

這兩中方式的優(yōu)劣在哪里?先不考慮表單驗證問題

回答
編輯回答
怣人

1、“直接取值”,的方法看起來比較直接,適合實現(xiàn)較為小的表單功能。
2、“jQ表單提交”,的方法是jq庫對表單常用的功能進行的封裝,適合實現(xiàn)稍微復雜的功能。
3、H5新特性里,也增加了表單的一些新屬性和標簽,方便我們直接操作表單。比如submit按鈕等,詳情查看api。
4、我擴展下,angular(2以上版本)為我們提供了2種表單方式,一是模板驅(qū)動表單(適和簡單功能),二是響應式表單(可以實現(xiàn)更為復雜的功能,易于后期維護,代碼更為美觀)。
4、無論是哪種方式,性能都不會有很大差異,不然官方不會對外公布相應的api,即便有性能上的問題,測試版本中也會對其優(yōu)化,這不應該是我們考慮的主要問題。
5、綜上所述,我的建議是,使用“jQ表單提交”方法。不過按照自己的需求,題主斟酌。

2017年4月15日 16:52
編輯回答
溫衫

沒有本質(zhì)區(qū)別,Jquery取表單data的操作和你直接取inputvalue是一樣的。

2017年10月18日 02:54