2011-10-27 111 views
3

我在我的網站上使用了一個Jquery表單。從通常的字段(名稱,電子郵件,dob等)非常簡單。用戶按下注冊按鈕後,表單將使用來自'ajaxForm'參數的Jquery提交給php文件。之後,表單滑出,谷歌地圖滑動詢問客戶通過拖動地圖上的標記來選擇他的當前位置。jquery表單從字段值獲取

將標記放到需要的位置後,客戶可以點擊「提交」按鈕,2個值將被傳遞到另一個php文件:經度和緯度,即座標。 (請注意,網頁不會隨時刷新,這一切都發生在一頁上。)

我想要做的是將電子郵件字段值與前一個表單一起傳遞給經緯度,但我可以'真的這麼做是因爲我幾乎是JavaScript的noob。

有沒有一種方法可以在提交表單之前從字段'email'聲明一個全局變量,所以我稍後可以使用它來與緯度和經度參數一起傳遞。或者也許有更簡單的解決方案?

非常感謝您提前!

,這裏是我的jQuery形式

$(document).ready(function() { 
var options = { 
    target: '#total', 
    clearForm: true, 
    beforeSubmit: radio, 
    success: social1 
}; 
$("#perm").ajaxForm(options); 

}); 
function radio(formData, jqForm, options) { 

    if ($('input:radio').is(':checked')) { 

} else { 
    alert('choose gender!'); 
    return false; 
} 

var form = jqForm[0]; 

     if (form.year.value <= form.yob.value) { 
     alert('choose another year!'); 
     return false; 
    } 

}; 




function social1() { 
      $("#map").delay(700).slideDown("slow"); 
      $("#accordion").slideUp("slow"); 
      }; 

的代碼而這裏的按鈕代碼

<form id='perm' action='add.php?stay=perm' method='post' onSubmit="return checkForm(this);"> 

回答

1

您已經使用beforeSubmit方法。擴大一點。這是抓住電子郵件地址的好地方。所以,你最終這樣的情況下(未經測試):

var email; 
$(document).ready(function() { 
var options = { 
    target: '#total', 
    clearForm: true, 
    beforeSubmit: radio, 
    success: social1 
}; 
$("#perm").ajaxForm(options); 

}); 
function radio(formData, jqForm, options) { 
    email = $("#idOfEmailField").val(); 
    // ... rest of logic here 
}; 
function social1() { 
    alert("Email address is "+email); 
}; 
+0

完美,它的工作完美無瑕!謝謝! – mrkrabs

0

如果你只是隱藏而無需刷新頁面的形式,從以前的形式輸入電子郵件仍然是可用的(即你不需要申報一個全局變量來存儲電子郵件)。例如,

<form id='perm' action='add.php?stay=perm' method='post'> 
    ... 
    <input type="text" id="name" /> 
    <input type="text" id="email" /> 
    <input type="submit" value="Submit" /> 
    ... 
</form> 

<button id='submitCoordinate_button' style='display:none'>Submit coordinate</button> 

<script type="text/javascript"> 
    $('#perm').ajaxForm() { 
     ... 
     success: function() { 
      $('#perm').hide(); // hide the perm form and pull the map in 
      $('#submitCoordinate_button').show(); 
     }, 
     ... 
    } 

    $('#submitCoordinate_button').click(function() { 
     ... 
     var email = $('#email').val(); // you still can get the email here 
     ... 
    }); 
</script> 
+0

感謝以及這是非常有用的提示! – mrkrabs