dongpa3109 2012-11-20 16:21
浏览 274
已采纳

提交表单并在同一页面上显示结果,无需刷新[重复]

Possible Duplicate:
How to have user submit text in form and AJAX it to enter to db and show up on same page?

What I want to do:

index.html -> form submit to some.php -> process data (from index.html) and send data to server.php -> returning results to a index.html div.

I've read ajax, jQuery, I have seen hundreds of questions on this site, but I couldn't figure it out yet.

index.html:

<form action="some.php"  method="post">
    Start date: <br/> <input name="idate" id="firstdate" type="text" /><br />
    End date: <br /> <input name="fdate" id="seconddate" type="text" /><br />
    <br />
    <input type="button" id="searchForm" onclick="SubmitForm();" value="Send" />
</form>

some.php:

<?php
session_start();
$_SESSION['data1'] = $_POST['firstdate'];
$_SESSION['data2'] = $_POST['seconddate'];
?>

 function drawChart() {
    var jsonData = $.ajax({
        url: "server.php",
        dataType: "json",
        async: false
    }).responseText;

    var obj = jQuery.parseJSON(jsonData);
    var data = google.visualization.arrayToDataTable(obj);

(...)

server.php:

$SQLString = "SELECT    
            count(score) as counts,
            DATE(date),
            SUM(CASE WHEN gender = 1 then 1 ELSE 0 END) Male,
            SUM(CASE WHEN gender = 2 then 1 ELSE 0 END) Female,
            AVG(age) as age, score
            FROM persons  
            WHERE date > '".$_SESSION['date1']."' AND date < '".$_SESSION['date2']."' 
            GROUP BY DATE(date) 
            ORDER BY DATE(date) asc";   

(...) 
$data[0] = array('day','counts','Male','Female','Age','Score');     
(...)
echo json_encode($data);
  • 写回答

2条回答 默认 最新

  • dongyi9082 2012-11-20 16:46
    关注

    HTML:

    <form id="my_form">
        Start date: <br/> <input name="idate" id="firstdate" type="text" /><br />
        End date: <br /> <input name="fdate" id="seconddate" type="text" /><br />
        <input id="submit_form" type="submit" value="Submit">
    </form>
    
    <div id="update_div"></div>
    

    jquery:

    var submit_button = $('#submit_form');
    
    submit_button.click(function() {
    
        var start_date = $('firstdate').val();
        var end_date = $('seconddate').val();
    
        var data = 'start_date=' + start_date + '&end_date=' + end_date;
    
        var update_div = $('#update_div');
    
        $.ajax({
            type: 'GET',
            url: 'proccess_form.php',
            data: data,   
            success:function(html){
               update_div.html(html);
            }
        });
    });
    

    proccess_form.php:

    <?php
        $date1 = GET_['start_date'];
        $date2 = GET_['end_date'];
    
        // PERFORM THE SQL QUERY //
    ?>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)