Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
表单条目通过PHP文件进行查询,并使用jQueryAjax输出PHP文件的结果_Php_Javascript_Jquery_Html_Ajax - Fatal编程技术网

表单条目通过PHP文件进行查询,并使用jQueryAjax输出PHP文件的结果

表单条目通过PHP文件进行查询,并使用jQueryAjax输出PHP文件的结果,php,javascript,jquery,html,ajax,Php,Javascript,Jquery,Html,Ajax,这是我的html-简单表单,包含两个文本输入: <div id="content"> <div id="options"> <form id="form1"> <table> <tr> <td>Date:</td> <td><input name="date"

这是我的html-简单表单,包含两个文本输入:

    <div id="content">
      <div id="options">
        <form id="form1">
          <table>
            <tr>
              <td>Date:</td>
              <td><input name="date" type="text" id="datepicker" /></td>
            </tr>
            <tr>
              <td>Size:</td>
              <td><input name="size" type="text" /></td>
            </tr>
            <tr>
              <td colspan="2"><input name="submit" type="submit" value="Submit"/></td>
            </tr>
          </table>
        </form>
      </div>
      <div id="result"> </div>
    </div>
然后用SQL查询连接到数据库并返回结果。任何关于我可能出错的建议。谢谢你的帮助

编辑

您必须将jQuery代码包装在domReady事件处理程序中,如下所示:

$(function() {
    // all your jQuery code goes here!
});

这里有一个适用于现有代码的工具:

尝试使用回调或更改为POST

回拨:

使用post。。。 HTML

更改:

<form id="form1">



然后,在jqueryajax的“success”中使用javascript吗

if (window.console != undefined) {
    console.log(response);
}

就在
$('#result').html(响应)下面行以查看php输出的内容。您还可以添加另一个
console.log('whatever')
作为
$('#form1')中的最后一行。提交(函数(e){
函数来帮助缩小范围。

您的代码看起来不错;您确定PHP收到了正确的值吗?如果PHP文件在同一个文件夹中,请尝试
url:'details.PHP'
。我对任何事情都不确定,竭尽全力想弄清楚哪里出了问题,因为它看起来对我来说都很好!啊!我对它有点怀疑呃,我的PHP正在获得正确的值。但是,Firebug表明提交时没有执行AJAX请求。有什么想法吗?这与
e.preventDefault()相同
他已经在他的
提交处理程序中设置了
处理程序。实际上,它在我的firefox 12.0中不起作用;我的意思是,表单被发布和页面重新加载很有趣,在我删除onsubmit后对我也起了作用,但不是第一次。GET很好用,请查看我的答案(当然忽略了404)GET或POST应该不重要;不过跨域重要,重要的时刻!:)检查这里,看看我的意思:显然,当使用GET时,如果需要几个请求,你必须使用
cache:false
;这可以通过使用POST来避免。但是这两种方法都有效:)谢谢,就这么简单!第二个问题,现在我的PHP文件的内容在DIV中,我在DIV的“results”中有另一个表单。有没有建议然后将此表单的结果传递到一个文件“details2.php”,然后将结果放在同一个DIV“results”中。我猜它非常相似!@cbarlow123是的,在
$(“#result').html(response)之后;
您必须找到表单并再次连接一个
onsubmit
处理程序。
<form id="form1" method="POST">
          <table>
            <tr>
              <td>Date:</td>
              <td><input name="date" type="text" id="datepicker" /></td>
            </tr>
            <tr>
              <td>Size:</td>
              <td><input name="size" type="text" /></td>
            </tr>
            <tr>
              <td colspan="2"><input name="submit" type="submit" value="Submit"/></td>
            </tr>
          </table>
        </form>
<script>
$('#form1').submit(function(e) {
    e.preventDefault(); // stops form from submitting naturally
    $.ajax({
        data: $(this).serialize(),
        url: 'details.php',
        method: 'POST',
        success: function(response) {
            $('#result').html(response); 
        }
    });
});
</script>
$date=$_POST['date'];
$size=$_POST['size'];
<form id="form1">
<form id="form1" onsubmit="return false;">
if (window.console != undefined) {
    console.log(response);
}