Javascript不将表单详细信息发送到PHP文件
我需要使用Javascript将用户详细信息从登录表单提交到PHP文件。我有这个代码,但不工作。我已经检查了javascript代码,看看是否有任何错误,但我找不到任何错误。表单如下所示:Javascript不将表单详细信息发送到PHP文件,javascript,php,html,Javascript,Php,Html,我需要使用Javascript将用户详细信息从登录表单提交到PHP文件。我有这个代码,但不工作。我已经检查了javascript代码,看看是否有任何错误,但我找不到任何错误。表单如下所示: <div class="container_log"> <div class="login_form justify-content-center"> <div class="user_card">
<div class="container_log">
<div class="login_form justify-content-center">
<div class="user_card">
<div class="d-flex justify-content-center">
<div class="brand_logo_container">
<img src="images/fevicon/logo.png" class="brand_logo" alt="logo">
</div>
</div>
<form>
<div class="d-block justify-content-center form_container">
<div id="message" style="color: #ffffff;"></div>
<div class="input-group mb-3">
<div class="input-group-append">
<span class="input-group-text"><i class="fa fa-user"></i></span>
</div>
<input type="text" name="txt_uname" id="txt_uname" class="form-control input_user" required="" />
</div>
<div class="input-group mb-2">
<div class="input-group-append">
<span class="input-group-text"><i class="fa fa-key"></i></span>
</div>
<input type="password" name="txt_pwd" id="txt_pwd" class="form-control input_pass" required="" />
</div>
<div class="form-group">
<div class="custom-control custom-checkbox">
<input type="checkbox" name="rememberme" class="custom-control-input" id="customControlInline" />
<label class="custom-control-label" for="customControlInline">Remember me</label>
</div>
</div>
</div>
<div class="justify-content-center mt-3 login_container">
<button type="button" name="but_submit" id="but_submit" class="btn login_btn">Login</button>
</div>
</form>
<div class="mt-4">
<div class="justify-content-center">
<a href="#">Forgot your password?</a>
</div>
</div>
</div>
</div>
</div>
谢谢您的帮助。您的脚本运行正常。我稍微调整了一下,以便可以在一个片段中演示:
//测试AJAX servlet:如果用户名=='harry'&&password=='potter',则返回true
常量echoURL=da=>URL.createObjectURL(
新Blob([JSON.stringify(da.username=='harry'和&da.password=='potter'?1:2)],{type:'text/JSON});
// ===================================================================================================
$(文档).ready(函数(){
$(“#但#提交”)。单击(函数(){
var username=$(“#txt_uname”).val().trim();
var password=$(“#txt_wwd”).val().trim();
如果(用户名!=“”&密码!=“”){
$.ajax({
url:echoURL({用户名,密码}),
类型:'GET',//使用URL进行测试。createObjectURL()仅适用于GET
//数据:{用户名:用户名,密码:密码},
成功:功能(响应){
var msg=“”;
如果(响应==1){
msg=“登录确定!”;
setTimeout(()=>location.href=>https://sallymassmann.de',1000);
}
否则如果(响应==2){
msg=“无效的用户名或密码!”;
}
否则{
如果(响应==0){
msg=“无效的用户名和密码!”;
}
否则{
msg=“出现问题。请与支持部门联系。”;
警报(响应);
window.location=“看守所错误”;
}
}
$(“#message”).html(msg);
},
错误:函数(请求、响应、状态、xhr、状态、错误){
}
});
}
否则{
var msg=“请输入所有字段!”;
}
$(“#message”).html(msg);
});
});代码>
记得我吗
登录
实际上,您必须在浏览器开发工具中使用“网络检查器”,以检查是否发出了请求以及提交了哪些参数,或者您可能会看到控制台错误,从而防止在散列之前不必对其执行或使用任何其他清理机制。这样做会更改密码并导致不必要的额外编码。在提交表单时,请收听表单的submit
事件,而不是单击submit按钮,并阻止提交事件的默认操作。只需查看代码,即可定期提交表单,非ajax只是检查一下,你的按钮在表单中,我看不出你在阻止表单以常规方式提交,当你按下按钮页面刷新时,我有一种感觉?
$(document).ready(function(){
$("#but_submit").click(function(){
var username = $("#txt_uname").val().trim();
var password = $("#txt_pwd").val().trim();
if( username != "" && password != "" ){
$.ajax({
url:'login.php',
type:'post',
data:{username:username,password:password},
success:function(response){
var msg = "";
if(response == 1){
window.location = "index.php";
}
else if(response == 2) {
msg = "Invalid username or password!";
}
else {
if (response == 0) {
msg = "Invalid username and password!";
}
else {
msg = "Something went wrong. Please contact support.";
alert(response);
window.location = "watchpost_error";
}
}
$("#message").html(msg);
},
error: function(request, response, status, xhr, status, error) {
}
});
}
else {
var msg = "Please input all the fields!";
}
$("#message").html(msg);
});
});