Я пытаюсь отправить форму php в базу данных, но я хочу, чтобы при нажатии кнопки отправки страница обновлялась сама (без перехода на страницу php, которую я отправляю). Я понимаю, что должен сделать это с помощью JS, и я пробовал несколько разных способов без какого-либо успеха. Я использую три файла, один для формы, один для JS, и последний для публикации данных в базе данных. Я новичок в php и JS, любая помощь будет очень кстати, спасибо.
PD вот код, который у меня есть:
user.php
<head>
........
<!-- Javascripts -->
<!-- jQuery -->
<script type="text/javascript" src="resources/scripts/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="resources/scripts/newuser.form_jquery.js"></script>
</head>
<body>
...................................
......................................
......................................
<form action="" id="newuserform" method="post">
<h4>New user</h4>
<br /><br />
<fieldset class="column-left">
<p>
<label>Email</label>
<input class="text-input medium-input" type="text" id="email" name="email" />
<br />
</p>
<p>
<label>First name</label>
<input class="text-input medium-input" type="text" id="fname" name="fname" />
<br />
</p>
</fieldset>
<fieldset class="column-right">
<p>
<label>Password</label>
<input class="text-input medium-input" type="password" id="pwd" name="pwd" />
<br />
</p>
<p>
<label>Last Name</label>
<input class="text-input medium-input" type="text" id="lname" name="lname" />
<br />
</p>
</fieldset>
<p>
<input class="button" type="button" value="Create" id = "submit_btn"/>
</p>
<div id="errormsg" class="notification error png_bg">
<div>
Invalid login, please check your username and password!
</div>
</div>
</form>
</body>
newuser.form_jquery.js
$(document).ready(function() {
$("#errormsg").hide();
$("#newuserform").keypress(function(e){
if(e.which == 13){
$("#errormsg").hide();
jQuery('#submit_btn').focus().click();
e.preventDefault();
return false;
}
});
$("#submit_butn").click( function() {
var e = '#email';
var p = '#pwd';
var f = '#fname';
var l = '#lname';
var _e = $(e).val();
var _p = $(p).val();
var _f = $(f).val();
var _l = $(l).val();
var postFile = 'application/post.newuser.php';
var dataurl = 'users';
$.post(postFile, { e: _e, p: _p, f: _f, l: _l}, function(data) {
if(data.status==true){
window.location=dataurl;
} else {
$("#errormsg").show();
}
}
,'json');
});
});
post.newuser.php *
public function newuser($e, $p, $f, $l)
{
//e: email, p: password, f: first_name, l: last_name
$return = false;
$sql = "INSERT INTO users (email, password, first_name, last_name, role, enabled)";
$sql .= " VALUES (";
$sql .= "'".$e."', ";
$sql .= "'".SHA1($p)."', ";
$sql .= "'".$f."', ";
$sql .= "'".$l."', ";
$sql .= "'2', ";
$sql .= "'1' ";
$sql .= ")";
$mysql = new mysql();
$mysql->connect();
$q = $mysql->queryin($sql);
if ($q)
{
$return = true;
}
$mysql->end();
return $return;
}
Извините за длинный пост.