1. 程式人生 > >form表單—2種提交方式

form表單—2種提交方式

只提交引數到後臺,不接收返回值

html程式碼

<!--第1步:設定 action,method-->
<form id="editForm" action="app/edit/destination" method='POST'>
    <!--第2步:表單元素 -->
    <div>
        名稱<input id="getName" name="name" />
    </div>

    <div>
        id<input id="getAreaId" name="id"
/>
</div> <div> 緯度<input id="getName" name="latitude" /> </div> <div> 經度<input id="getAreaId" name="longitude" /> </div> <!--第3步:提交方式 submit--> <input type="submit" value="獲取" /> </form>

js程式碼

<script
>
/*如果需要做表單驗證,如果不做表單驗證,js程式碼可以省略*/ $("#editForm").validate({ /*第1步:做表單驗證,省略*/ /*第2步:提交表單到後臺 */ submitHandler : function(form) { form.submit(); } }) </script>

java程式碼

@ResponseBody
@RequestMapping(value = "edit/destination", method = RequestMethod.POST)
public
void editDestination(Long id, String name, Float longitude, Float latitude, String username) { //處理引數,沒有返回值 }

提交引數到後臺,並且接收後臺返回值

html程式碼

    <form id="editForm">
        <div>
            名稱<input id="getName" name="name" />
        </div>

        <div>
            id<input id="getAreaId" name="id" />
        </div>
        <div>
            緯度<input id="getName" name="latitude" />
        </div>

        <div>
            經度<input id="getAreaId" name="longitude" />
        </div>
        <input type="submit"  value="提交" />
    </form>

如果需要做表單驗證 js程式碼如下:

    <script>
        $("#editForm").validate({
            //做表單驗證
            rules : {
                name : { //格式:domId: 規則
                    minlength : 2,//無效
                    maxlength : 30,
                    required : true
                }
            },
            messages : {
                name : {
                    required : "請輸入第一個引數",
                    minlength : jQuery.validator.format("至少需要{0}字元"),
                    maxlength : jQuery.validator.format("不能超過{0}字元")

                }

            },
            //驗證成功後提交引數
            submitHandler : function(form) {
                ajaxSubmit();
            }
        });

        function ajaxSubmit() {
            $.ajax({
                async : false,
                cache : false,
                type : 'POST',
                data : $("#editForm").serialize(),
                url : "app/edit/destination",//請求的action路徑  
                error : function() {//請求失敗處理函式  
                    alert('失敗');
                },
                success : function(data) { //請求成功後處理函式。    
                    alert(data);
                }
            });
        }
    </script>

如果不需要做表單驗證,js程式碼如下:

 <!--input提交按鈕改為如下--> 
<input type="button" onclick="ajaxSubmit()" value="提交" />

<script>
        function ajaxSubmit() {
            $.ajax({
                async : false,
                cache : false,
                type : 'POST',
                data : $("#editForm").serialize(),
                url : "app/edit/destination",//請求的action路徑  
                error : function() {//請求失敗處理函式  
                    alert('失敗');
                },
                success : function(data) { //請求成功後處理函式。    
                    alert(data);
                }
            });
        }
</script>

java程式碼

@ResponseBody
@RequestMapping(value = "edit/destination", method = RequestMethod.POST)
public long editDestination(Long id, String name, Float longitude, Float latitude, String username) {
        long result = 0; 
        /*處理引數*/
        return result;
}