0

フォーム送信データの一部を収集したいクライアントがいます。ユーザーがサイトのフォームに入力し、フォームが送信されると、次の JavaScript が呼び出されます。

    /* 4. Below script will get all field name/value pairs for given form */
function cpcshowElements(f) {
    var formElements = "";
    for (var n=0; n < f.elements.length; n++) {
        box = f.elements[n];
        if (!f.elements[n].value == ""){
            formElements += box.name + ":" + f.elements[n].value + ",\n";
        }
    }
    var track = new Image();

    /*send data to us*/
    track.src="https://www.xxx.com/form_record.cfm?form="+formElements;  
    //alert("The elements in the form '" + f.name + "' are:\n\n" + formElements);
}

これにより、送信されたデータを取得して保存するコードが呼び出されます。これはうまく機能しますが、常に機能するとは限りません。テストするとき、一貫してデータを取得していないようです。なぜこれが機能するのか、他の機能が機能しないのかを理解できませんでした。私は JavaScript の専門家ではないので、これが JavaScript の仕組みなのかどうかはわかりません。私が問題であると考えることができた唯一のことは、クライアントのWebサイトがフォームの処理を終了し、ユーザーが別のページに誘導されると、スクリプトがまだ終了していない場合は実行を停止することです。私たちはデータを取得しません。誰にもアイデアはありますか?私はここで正しい軌道に乗っていますか?毎回データを取得する方法についてのアイデアはありますか?

4

1 に答える 1

0

フォームを送信して入力値を取得するシリアライズ機能を備えたjQueryフレームワークを使用できます。

$("#bottonId").click(function(){


imageObj.src ="http://www.mypage.com/mypage?" +$("#form's ID").serialize();

});
于 2013-04-26T18:08:52.160 に答える