2016-11-15 3 views
1

私のフォームからシリアル化された値を送信するこの関数があります。 使用document.getElementById(form_id)正しいフォームと値が得られます。このフォームをdata = $(form).serialize();でシリアル化すると値が正しくありません。 他の質問の回答は、原因となっている名前またはフィールドが原因であることを示唆していますが、ここには該当しません。jQuery form.serialize()現在の値を与えない

私の結果は、console.logの形式で表示されます。

var submit_form = function(form_id){ 
    form = document.getElementById(form_id); 
    console.log(16, form); 
    data = $(form).serialize(); 
    console.log(17, data); 
    url = "/routmeda/checklist/" + form_id 
    $.post(url, data, function(data) {storeLogo.reload();}); 
    } 

チェックボックス「aanvraagformulier」はオフになっています。

ここではライン17から

enter image description here

そして、ここで正しいライン16からコンソールに出力、シリアル化は、フォームがロードされた状況である、チェックボックスがオンになっていると言います。 enter image description here

正しいセリシスはどのようにして得られますか?

+0

同じ名前のフォームに同じチェックボックスがありますか?チェックボックスが 'serialize()'関数によって正確に渡されていないところが聞こえました。 –

+0

javascriptでチェックボックスをチェックしているのか、ブラウザで手動でチェックしていますか? JavaScriptを使用している場合は、そのコードを確認できますか? – nvioli

+0

ブラウザでクリックすると、それが唯一のフィールドまたはその名前のチェックボックス – peter

答えて

0

フォームが表示されていたExtJsウィンドウを破棄して解決しましたが、このウィンドウの閉じるボタンが以前に行ったことがないようです。 document.getElementById(form_id);は、現在のウィンドウ/フォームの値を与え、jQueryのセレクタはそのウィンドウ/フォームのゴーストバージョンを与えました。 ExtJsの問題ではないと思っていました。提案していただきありがとうございます。

関連する問題