Я делаю форму с помощью jQuery's AJAX. Я иметь несколько форме, используя AJAX, как это:jQuery, AJAX - Запуск неправильных функций
$('#newUser').submit(function() {
var dataString = $(this).serialize();
$.ajax({
type: "POST",
url: "/includes/classes/handler.php?do=addLogin",
data: dataString,
success: function(returnedData){
if(returnedData){
$('.errorMessage').fadeIn().html(returnedData);
} else {
$('.sideBarNewUserWrap').fadeOut();
}
}
});
return false;
});
//
, а потом я с другой, как это:
$('#addLookup').submit(function() {
var dataString = $(this).serialize();
$.ajax({
type: "POST",
url: "/includes/classes/handler.php?do=addLookup",
data: dataString,
success: function(returnedData){
if(returnedData){
$('.errorMessage').fadeIn().html(returnedData);
} else {
window.location.href = "";
}
}
});
return false;
});
И по какой-то причине, когда я wan't его, чтобы активировать # newUser запускает #addLookup. Если я удалю #addLookup, для #newUser не будет AJAX ИЛИ jQuery (браузер просто освежает, если я нажимаю «submit»).
формы выглядеть следующим образом:
<form method='post' action='#' id='newUser'></form>
или
<form method='post' action='#' id='addLookup'></form>
Как это может быть? Я смотрю на тот же код в течение 2 часов, и я не могу понять, что случилось.
Update
The #addLookup срабатывает только если 2 формы находятся на той же странице. Если #newUser стоит один на странице AJAX, запускает правильную функцию.
Полный HTML
<form method='post' action='#' id='addLookup'>
<div id='tilfojOpslagClose'><img src='/includes/images/design/btn/closeWindow-btn.png'></div>
<div class='successMessage'></div>
<div class='errorMessage'></div>
<div id='tilfojOpslagHeader'>
<input type='text' name='lookupHeader' id='lookupHeader' value='Skriv en overskrift'>
</div>
<div id='tilfojOpslagExpand'>
<div style='float:left;'>
<label>Præsentations tekst (bliver vist på forsiden)</label>
<textarea name='lookupSubHeader' id='lookupSubHeader' maxlength='100'></textarea>
</div>
<span id='lookupSubHeaderCharsLeftOutput'>Du mangler <strong>50</strong> tegn</span>
<div style='float:left;width:618px;margin:3px 0 0 0;'>
<textarea name='lookupContent' id='lookupContent' style='height:100px;'></textarea>
</div>
<div id='tilfojOpslagBottom'>
<div id='tilfojOpslagSubmit'><input type='submit' value='Opret mit opslag'></div>
</div>
</form>
И #newUser
<form method='post' action='#' id='newUser'>
<fieldset>
<legend>Ny bruger</legend>
<label>Brugernavn</label>
<input type='text' name='username' id='username' placeholder='Brugernavn vil forekomme på siden, som et alias'>
<label>E-mail</label>
<label style='color:#f00;font-size:8px;'>Ja, du skal skrive en gyldig e-mail. Du modtager et aktiverings link.</label>
<input type='text' name='email' id='email' placeholder='E-mail - en del af dit login'>
<label>Adgangskode</label>
<input type='password' name='password' id='password' placeholder='Adgangskode - en del af dit login'>
<input type='hidden' name='salt' id='salt' value='<?=uniqid(mt_rand())?>'>
<input type='submit' value='Opret mig'>
<div class='errorMessage'></div>
<div class='successMessage'></div>
</fieldset>
</form>
UPDATE
<?if($_SESSION['loggedIn']){?>
<form action='' method='' id='addLookup'>
<?} else {?>
<input type='submit' value='something'>
</form>
<?}?>
Полный текст HTML + код – gdoron
Вопрос только в том, как вы запускаете сообщения в форме? Где элементы submit/button/anchor запускают сообщение? – FarligOpptreden
Надеюсь, что эти две формы не вложены ** ... – gdoron