我在我的index.html文件中使用javascript来加载带有另一个javascript表单的登录php页面,如果我直接进入login.php页面然后提交按钮工作得很好,但是一旦它被加载到我的索引中.html文件,即使视觉上一切都在我的屏幕上正确加载,它也不会做任何事情。
这是我的index.html
<!doctype html>
<html>
<head>
</head>
<body>
<div id='myStyle'></div>
<script src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#myStyle').load('./login.php');
});
</script>
</body>
</html>
这是login.php文件
<script type="text/javascript" src="sha512.js"></script>
<script type="text/javascript" src="forms.js"></script>
<?php
include 'db_connect.php';
include 'functions.php';
sec_session_start();
if(isset($_GET['error'])) {
if($_GET['error']==1) {
echo 'Error Logging In!';
}
}
if(login_check($mysqli) == true) {
header('Location: ./registration.php');
} else {
?>
<html>
<head>
<title>Sprinkler Controller - Login</title>
</head>
<body>
<table border="0" align="center">
<form action="process_login.php" method="post" name="login_form">
<tr>
<td>Email:</td><td><input type="text" name="email"</td>
</tr>
<tr>
<td>Password:</td><td><input type="password" name="password" id="password"/></td>
</tr>
<tr>
<td colspan ="2" align="center"><input type="button" value="Login" onclick="formhash(this.form, this.form.password);" /></td>
</tr>
</form>
</table>
</body>
</html>
<?php
}
?>
请注意,login.php从forms.js
加载表单function formhash(form, password) {
// Create a new element input, this will be out hashed password field.
var p = document.createElement("input");
// Add the new element to our form.
form.appendChild(p);
p.name = "p";
p.type = "hidden"
p.value = hex_sha512(password.value);
// Make sure the plaintext password doesn't get sent.
password.value = "";
// Finally submit the form.
form.submit();
}
稍微阅读一下,我认为我需要添加一些内容
$(document).on('submit', '#password', function(evt){
evt.preventDefault();
})
但不仅我不确定哪个文件以及所述文件中的哪个位置我需要放置它,我不确定这是否是我真正需要做的修复它!
答案 0 :(得分:0)
<!doctype html>
<html>
<head>
</head>
<body>
<div id='myStyle'></div>
<script src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#myStyle').load('./login.php');
$(document).on('submit', 'form', function(evt){
evt.preventDefault();
})
});
</script>
</body>
</html>
答案 1 :(得分:0)
问我发现整个问题是我试图将我的login.php文件中的整个HTML页面加载到DIV中。我抛弃了index.html文件,直接转到login.php,而不是试图将它包装在一个html页面中。