[英]php javascript form serialize get data undefined index
I want to call input value from javascript My home page code : 我想从javascript我的主页代码中调用输入值:
<form method="post" id="form">
<div class="row">
<div class="col-md-6">
<label for="f_name">First Name</label>
<input type="text" class="form-control" name="f_name "id="f_name" value="">
</div>
<div class="col-md-6">
<label for="l_name">Last Name</label>
<input type="text" class="form-control" name="l_name" id="l_name" value="">
</div>
</div>
.... javascript code : .... javascript代码:
$("#singup_btn").click(function(event){
event.preventDefault();
$.ajax({
url : "register.php",
method : "POST",
data : $("form").serialize(),
success : function(data){
alert(data);
}
})
})
...calling page code : ...呼叫页面代码:
<?php
include "db.php";
$fname = $_POST["f_name"];
$lname = $_POST["l_name"];
...
echo $fname;
...error while click button, only last name (input) value defined ...单击按钮时出错,仅定义了姓氏(输入)值
<br />
<b>Notice</b>: Undefined index: f_name in <b>D:\xampp\htdocs\shop\register.php</b> on line <b>5</b><br />
<br />
<b>Notice</b>: Undefined index: email in <b>D:\xampp\htdocs\shop\register.php</b> on line <b>7</b><br />
<br />
<b>Notice</b>: Undefined index: password in <b>D:\xampp\htdocs\shop\register.php</b> on line <b>8</b><br />
please someone help me? 请有人帮我吗? I stuck like more than 4 hours on this.
我在上面停留了超过4个小时。 Im learning javascript n php, n still newbie.
我正在学习javascript n php,n还是新手。 Please help.
请帮忙。 thanks.
谢谢。
You are missing a # You also have an error in your first input field. 您缺少#您在第一个输入字段中也有错误。
<input name="f_name ">
shouldbe
<input name="f_name">
$("#singup_btn").click(function(event){
event.preventDefault();
$.ajax({
url : "register.php",
method : "POST",
data : $("#form").serialize(),
success : function(data){
alert(data);
}
})
})
try this code 试试这个代码
$(document).on('click', '#singup_btn', function() {
$.ajax({
url : "register.php",
type : "POST",
data : $("#form").serialize(),
success : function(data){
alert(data);
}
});
});
Please remove type="submit" from submit button and add type="button". 请从提交按钮中删除type =“ submit”并添加type =“ button”。 It will work!
会工作的!
Serializing the form with a space in name="f_name "id="f_name"
forces a +
to be appended to the serialized value. 使用
name="f_name "id="f_name"
的空格对表单进行序列化会强制在序列化值后附加+
。 This is why its not being picked up correctly server side. 这就是为什么服务器端无法正确拾取它的原因。
Expected server side value 预期的服务器端价值
f_name=asd&l_name=asd
Actual server side value 实际服务器端值
f_name+=asd&l_name=asd
see test below 见下面的测试
$("button").click(function() { //output values before serialization console.log( "Result of f_name"); console.log ($("#f_name").val() ); console.log( "Result of l_name"); console.log ($("#l_name").val() ); //output values after serialization var serialized = $("form").serialize(); console.log( "Result: Notice how f_name has an appended + in its key"); console.log( "'" + serialized + "'"); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <form method="post" id="form"> <div class="row"> <div class="col-md-6"> <label for="f_name">First Name</label> <input type="text" class="form-control" name="f_name "id="f_name" value=""> </div> <div class="col-md-6"> <label for="l_name">Last Name</label> <input type="text" class="form-control" name="l_name" id="l_name" value=""> </div> </div> <button type="button"> test </button> </form>
Credit to Chris 归功于克里斯
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.