一、提交數據時包含checkbox之解決方案。
1、用for循環獲取checkbox(被勾選)的value,並賦值給所要傳輸的變量。
var scct = ''; for (var i = 0; i < node.childNodes[3].childNodes[0].childNodes.length; i += 2) { if (node.childNodes[3].childNodes[0].childNodes[i].checked === true) { scct += "" + node.childNodes[3].childNodes[0].childNodes[i].value +','+ ""; } } scct += "";
(for循環里面的i的取值要小於取值數組的長度,此情況適用於選擇框的值不定,勾選的的數量不定是的復雜選擇框)
二、提交數據時包含radio的解決方案。
1、提交數據時radio(被選中的)的value的獲取,並賦值給所要傳遞的變量。
var scct =''; if(node.childNodes[2].childNodes[0].childNodes[0].checked===true){ scct='M'; } else if(node.childNodes[2].childNodes[0].childNodes[0].checked===false){ scct='F'; }
(此情況適用於兩個按鈕,值固定,單選 的情況)
三、提交數據完阻止其頁面跳轉,及提交之后的bootstrap樣式的提示框的使用。
1、提交數據完阻止頁面的跳轉,並使用serialize收集頁面信息。
$('#usemf').on('submit', function (e) { //when form submit e.preventDefault(); //prevent it being sent var details = $('#usemf').serialize(); //serialize from data });
(當選擇用ajax提交數據的時候,在收集完數據之后,再用post請求發送數據。)
$.post('register.php' , datailes , function(data) { //use $.post() to send it $ ('#register') . html (data) ; //where to display result });
2、定義對應的反饋,然后用字符串比較的方法判斷其是否與實際返回信息相等,如果相等彈出彈框。
var newLoad = ""; //定義匹配信息 var patt1 = new RegExp("error:You do not have permission to add the event!"); if (patt1.test(uemm.responseText)) { //如果返回數據為error。。,則彈出沒有權限 newLoad = "<div class=\"alert alert-block\" > <button type=\"button\" class=\"close\" data-dismiss=\"alert\">×</button> <h2>sorry!</h2> <h4>您沒有修改權限!</h4></div>"; setTimeout(dute, 500) }
(上面代碼綠色部分為設置在彈出彈框之后多長時間之后跳轉到指定頁面。)
//dute函數(頁面在1秒之后跳轉到指定頁面“調用doupdate函數 function dute() { var secs = 1; //倒計時的秒數 var url; URL = 'http://118.190.79.228/allright1/user_event_management_eg.html'; for (var i = secs; i >= 0; i--) { window.setTimeout('doUpdate(' + i + ')', (secs - i) * 1000); } } function doUpdate(num) { if (num === 0) { window.location = URL; } }