2015-10-27 2 views
-1

Я редактирования HTML тэг формы, используя событие OnLoad, который работает отлично,JavaScript форма сериализации не работает

$(function(){ 
window.onload=function(){ 
var x = document.getElementsByTagName("form"); 
for (i = 0; i < x.length; i++) { 
    if(x[i].getAttribute("data-reactid") == ".0"){ 
    x[i].id = "form1"; 
    } 
} 
} 
}); 

Однако, когда я пытаюсь сериализации форма onbeforeunload это нуль, что я делаю неправильно ? Я использую хром, и я считаю, что он не работает в других браузерах.

$(function(){ 
    window.onbeforeunload = function (e) { 
    var $k = $('#form1').serialize(); 
    $.ajax({ 
     type: "POST", 
     url: "MYURL", 
     data: { t: Date.now(), u: document.URL, k: $k} 
    }); 
    }; 
}); 

HTML

<form class role="form" data-reactid=".0"> 
<input type="text" placeholder="Name" data-reactid=".0.1.0.1"> 
<input type="text" placeholder="Last Name" data-reactid=".0.1.0.1"> 
<button type="submit" data-reactid=".0.3">Submit</button></form> 

Спасибо! - Digital

+0

Можете ли вы дать нам демо на jsfiddle.? – Vamsi

+0

У Stackoverflow был [отличный способ предоставить живые демонстрации в вопросах] (https://blog.stackoverflow.com/2014/09/introducing-runnable-javascript-css-and-html-code-snippets/) для более год. Там нет необходимости размещать их на сторонних сайтах, таких как JS Fiddle. – Quentin

ответ

1

Первая проблема заключается в том, что $('#form1') не соответствует форме, потому что у нее нет идентификатора. (Возможно, смягчается кодом, который присваивает ему идентификатор в первом блоке кода).

Вторая проблема заключается в том, что, даже если это произошло, элементы ввода не имеют имен, поэтому они не могут быть успешными элементами управления (и не будут включены в сериализованные данные).

Третья проблема заключается в том, что действие покидания страницы (которое вызывает onbeforeunload) отменяет запрос Ajax.

+0

Первый js-код добавляет в ID для формы как «form1», которая работает. Значит, у формы есть идентификатор? Правильно – DigitalSniperz

Смежные вопросы