3

Web サイトで Jquery フォームを使用しています。from は、通常のフィールド (名前、電子メール、住所など) で非常に単純です。ユーザーが登録ボタンを押すと、「ajaxForm」パラメーターからの Jquery を使用して、フォームが php ファイルに送信されます。その後、フォームがスライドアウトし、Google マップがスライドインして、地図上のマーカーをドラッグして現在地を選択するよう顧客に求めます。

マーカーを必要な場所に配置した後、顧客は「送信」ボタンをクリックできます。緯度と経度、つまり座標の 2 つの値が別の php ファイルに渡されます。(ページはいつでも更新されないことに注意してください。これはすべて 1 つのページで行われます。)

私がやりたいことは、前のフォームの電子メール フィールドの値を緯度と経度と共に渡すことですが、私は JavaScript にほとんど慣れていないため、実際にはそれを行うことができません。

フォームを送信する前に「メール」フィールドからグローバル変数を宣言する方法はありますか?後でそれを使用して、緯度と経度のパラメーターと一緒に渡すことができます。それとももっと簡単な解決策があるのでしょうか?

事前にどうもありがとうございました!

これが私の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);">
4

2 に答える 2

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);
};
于 2011-10-27T07:55:25.823 に答える
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>
于 2011-10-27T07:59:25.170 に答える