2012-02-24 2 views
0

На моей странице есть 2 формы: form1 и form2. Теперь, когда форма одна представляется, то я устанавливаю значение скрытого поля в форме 2:Проблема с несколькими формами HTML/JQuery

$('#form1').submit(function(){ 
    $("#hiddenfield").val($(this).serialize()) ; 
    alert($("#hiddenfield").val()); 
    return true; 
    }); 

$('#form2').submit(function(){ 
    alert($("#hiddenfield").val()); 
    return true; 
    }); 

В первой тревоге данные показаны правильно, но когда я вношу в sencond формы, значение пустое , Что может быть проблемой?

+2

Может быть, потому, что страница перезагружается после отправки первой формы? –

+2

Что произойдет после отправки первой формы? Вы все еще на одной странице? – fcalderan

+0

Возможно, вы просто используете свойство EnableViewstate = true в входе HiddenField. – Jigs

ответ

2

Проблема, вероятно, в том, что, поскольку ваша функция отправки возвращает true, браузер отправит форму и, таким образом, перезагрузит вашу страницу. Поэтому ваша вторая форма пуста, когда вы ее публикуете. Если вы не хотите, чтобы форма перезагружала страницу, ваша функция отправки должна будет вернуть false, чтобы браузер не публиковал форму обычным способом. В этом случае вам, разумеется, придется публиковать свою форму через ajax, так как возвращение false из функции submit прекратит отправку формы вместе.

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

$('#form1').submit(function(){ 
    $("#hiddenfield").val($(this).serialize()) ; 
    alert($("#hiddenfield").val()); 
    return false; 
    }); 

$('#form2').submit(function(){ 
    alert($("#hiddenfield").val()); 
    return false; 
    }); 
Смежные вопросы