Php 尝试从AJAX中的文本框中获取值并将其发送到新页面
使用ajax将值放入文本框并将其发布到另一个.php文件时出现问题。我以前用复选框做过一次,但无法复制我的结果。以下是问题中文本框的代码Php 尝试从AJAX中的文本框中获取值并将其发送到新页面,php,html,mysql,sql,Php,Html,Mysql,Sql,使用ajax将值放入文本框并将其发布到另一个.php文件时出现问题。我以前用复选框做过一次,但无法复制我的结果。以下是问题中文本框的代码 <div align = "right"> <div class = ='text'> <span style="float:right;"><strong> Status Report Date</strong> <label for="from">From
<div align = "right">
<div class = ='text'>
<span style="float:right;"><strong> Status Report Date</strong>
<label for="from">From</label>
<input type="text" id="from" name="from">
<label for="to">to</label>
<input type="text" id="to" name="to">
<div id="dates"></div>
状态报告日期
从…起
到
这些是我的日期选择器框,因为我给它们附加了日期选择器脚本,但我认为它们可以作为普通的文本框
下面是从文本框中获取值的脚本
$(document).ready(function(){
$('input[type="text"]').click(function(){
var from = $(this).val();
$.ajax({
url:"sortByDates.php",
method:"POST",
data:{text:text},
success:function(data){
$('#dates').html(data);
}
});
});
});
</script>
$(文档).ready(函数(){
$('input[type=“text”]”)。单击(函数(){
var from=$(this.val();
$.ajax({
url:“sortByDates.php”,
方法:“张贴”,
数据:{text:text},
成功:函数(数据){
$('#dates').html(数据);
}
});
});
});
下面是我试图将值发送到的.php文件
<?php
if (isset($_GET['pageSubmit'])) {
$firstDate= $_POST['from'];
$lastDate= $_POST['to'];
echo $firstDate;
echo $lastDate;
}
您在节中使用的变量“text”
{text:text}
没有定义。因此,不会发送任何数据
除此之外,这里还有其他问题,是否希望同时发送这两个值?你的代码看起来不支持这一点。您确定要在用户单击文本框时发生这种情况吗?首先在输入中添加value=“”
然后在js代码中,您将发送未定义的“text”变量,因为您的变量是“from”
因此,请尝试添加:数据:{text:from}
您尚未在ajax中传递from、to和pagesubmit的值。请尝试此代码,希望能有所帮助
在ajax中
$(document).ready(function(){
$('input[type="text"]').click(function(){
var from = $("#from").val();
var to = $("#to").val();
$.ajax({
url:"sortByDates.php",
method:"POST",
data:{from:from,to:to,pageSubmit:1},
success:function(data){
$('#dates').html(data);
}
});
});
});
在PHP中
<?php
if (isset($_GET['pageSubmit'])) {
$firstDate= $_POST['from'];
$lastDate= $_POST['to'];
echo $firstDate;
echo $lastDate;
}
?>
我想你失去了注意力。。。检查此代码
<div alight = "right">
<div class='text'>
<span ><strong> Status Report Date</strong>
<label for="from">From</label>
<input type="text" id="from" name="from">
<label for="to">to</label>
<input type="text" id="to" name="to">
<div id="dates"></div>
<button id="submit">click</button>
状态报告日期
从…起
到
点击
Jquery
<script>
$(document).ready(function(){
$('#submit').click(function(){
var from = $('#from').val();
var to = $('#to').val();
ps = "submit";
$.ajax({
url:"sortByDates.php",
method:"POST",
data:{pageSubmit: ps,from:from, to: to},
success:function(data){
$('#dates').html(data);
}
});
});
});
$(文档).ready(函数(){
$(“#提交”)。单击(函数(){
var-from=$('#from').val();
var to=$('#to').val();
ps=“提交”;
$.ajax({
url:“sortByDates.php”,
方法:“张贴”,
数据:{pageSubmit:ps,from:from,to:to},
成功:函数(数据){
$('#dates').html(数据);
}
});
});
});
php脚本
<?php
if (isset($_POST['pageSubmit'])) {
$firstDate= $_POST['from'];
$lastDate= $_POST['to'];
echo $firstDate;
echo $lastDate;
}
?>
基本上,当用户单击该文本框上的日期选择器对象时,当我尝试回显任何一个变量时,都没有传递任何值\您是否检查了$u POST变量中是否有任何内容?如果没有,则表示没有发布数据。然后检查js代码,如果您在那里得到了值。然后,尝试添加一个按钮元素,单击该元素时,数据将被发布到标记的答案及其下方的注释。这就是我现在面临的问题,你在js代码中得到“to”的值了吗?另外,首先在ajax中的success函数中记录“data”变量,您是否在那里获得值(在success函数中)?“to”的值在我单击第一个文本框两次时传递:/不幸的是,对我不起作用:/我正在将PHP中的日期变量传递到我的数据库中,两个值都为0。仍然无法打印这几乎成功了!第一个日期传递正确,但是第二个值丢失,并且没有赋值。我们无法将两个文本框都传递到php文件。只有当我点击第一个文本框时,我才能发送该值。第二个文本框不发送值您可以按照自己的意愿发送第一个文本框值。。但这会给你带来一个错误。。因为post action php文件需要两个数据字段,但您将向其发送一个字段,即“from”。。。但您可以根据需要发送第一个值。。通过更改此$('#from').on(function(){或$('#from').change(function(){很抱歉,您的文本格式是否更清晰。我并不完全熟悉ajaxcheck w3schools.com..它们只是初级教程中最好的..在ajax中“数据:{pageSubmit:ps,from:from,to:to},”这一行表示您发送到页面的数据…这里pageSubmit、from、to是变量名(冒号之前:)和冒号之后(:)是每个变量的值。。。