У меня есть страница, которая загружается, а затем, когда загрузка завершена, она использует Jquery для загрузки содержимого в поле. Эта коробка содержит форму. То, что я хотел, это сделать, чтобы отправить форму через jQuery. Однако, когда я его пытаюсь, страница просто обновляется, и я получаю переменные GET в строке URL.jQuery не отправляет форму после .load()
JQuery, делает нагрузку и предположим, представить форму:
$(document).ready(function(){
$("#passchangebox").load("boxes/settings_security_password.php?uID=" + uID, function() {
$(".form_error").hide();
$("#changepasswordloader").hide();
});
$("#passwordchange").submit(function(event) {
$('.form_error').hide();
var pass = $("input#pass").val();
if (pass === "") {
$("#pass_error").show();
$("input#pass").focus();
return false;
}
cpass = $("input#cpass").val();
if (cpass === "") {
$("#cpass_error").show();
$("input#cpass").focus();
return false;
}
if(pass !== cpass){
$("#match_error").show();
$("input#cpass").focus();
return false;
}
email = $("input#email").val();
$.ajax({
type: "POST",
url: "functions/settings_passwordchange.php",
data: $('#passwordchange').serialize(),
success: function(result) {
if(result == 1){
$('input#pass').val("");
$('input#cpass').val("");
$('#payment_window_message_success').fadeIn(300);
$('#payment_window_message_success').delay(3000).fadeOut(700);
return false;
}
},
error: function() {
$('#payment_window_message_error_mes').html("An error occured, form was not submitted");
$('#payment_window_message_error').fadeIn(300);
$('#payment_window_message_error').delay(3000).fadeOut(700);
}
});
event.preventDefault();
return false;
});
});
РНР, который загружается на страницу, и содержит форму:
<?php
//get required config file and check login
if([email protected]("../connect.php")){
echo"<aside>
<div class='error' id='errorconnecthide-this'>
<img src='http://resources.domain.co.nz/backgrounds/icon_error.png' class='messageimg' />
<h4>Error - Current Page</h4>
<p>There was an error making a connection to the database. Please try again later.</p>
</div>
</aside>";
} elseif(isset($_GET['uID'])){
$uID = strip_tags(stripslashes($_GET['uID']));
if(!is_numeric($uID)){
echo"<aside>
<div class='error' id='errorconnecthide-this'>
<img src='http://resources.domain.co.nz/backgrounds/icon_error.png' class='messageimg' />
<h4>Error - User</h4>
<p>There was an error retrieving the user information. Please try again later.</p>
</div>
</aside>";
} else {
//GET THE USERS EMAIL
$get_custInfo = 'singleuser';
$userInfo_ID = $uID;
if(!include("../classes/global_userinfo_details.php")){
echo"<aside>
<div class='error' id='errorconnecthide-this'>
<img src='http://resources.domain.co.nz/backgrounds/icon_error.png' class='messageimg' />
<h4>Error - User</h4>
<p>There was an error retrieving the user information. Please try again later.</p>
</div>
</aside>";
} else {
$details = mysqli_fetch_assoc($userInfo_qry);
$email = stripslashes($details['userinfo_email']);
echo"<form class=\"halfboxform\" id=\"passwordchange\">
<fieldset>
<br />
<input type=\"hidden\" id=\"email\" value=\"$email\" />
<label for=\"pass\">New Password:</label>
<input type=\"password\" name=\"pass\" id=\"pass\" size=\"45\" />
<p class=\"form_error clearb red input\" id=\"pass_error\">This field is required.</p>
<label for=\"cpass\" class=\"clearb\">Confirm:</label>
<input type=\"password\" name=\"cpass\" id=\"cpass\" size=\"45\" />
<p class=\"form_error clearb red input\" id=\"cpass_error\">This field is required.</p>
<p class=\"form_error clearb red input\" id=\"match_error\">Those passwords didnt match.</p>
<br class=\"clearl\" />
<br />
<input type=\"submit\" value=\"Update Login Details\" class=\"submit\" />
</fieldset>
<div class='clear'></div>
</form>";
}
}
} else {
echo"<aside>
<div class='error' id='errordisplayhide-this'>
<img src='http://resources.domain.co.nz/backgrounds/icon_error.png' class='messageimg' />
<h4>Error - Unknown</h4>
<p>There was an error retrieving the necessary information. Please try again later.</p>
</div>
</aside>";
}
?>
Любая помощь по этому вопросу будет очень ценна: D
Вы получаете запросы на сервер? –
Я заметил, что у вас, кажется, есть строка 'header()', после того, как она повторяет совсем немного кода. Не следует ли 'header()' быть первым, прежде чем что-либо еще выводится на страницу? – vertigoelectric
На сервере отсутствуют запросы. И да для заголовка(); Это было изменено, это было очень плохо в склеивании. –