0

索引.html

function drawChart() {
                var jsonData = $.ajax({
                    url: "server.php?startdate=" + start_date + "&enddate=" + end_date + "&type=" type,
                    dataType: "json",
                    async: false
                }).responseText;

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

この vars: start_date、end_date および typeは、ページを更新せずにフォームで取得する必要があるため、それを server.php に送信していくつかの
ことを行うことができます。この jsonData 構造などを変更せずにそれを行うにはどうすればよいですか?
チャートを作成するために必要だからです。

もう一度ありがとう :) ps: わかりにくかったら指摘してね :)

4

2 に答える 2

1

idフォームに があり、各フォーム入力に があると仮定すると、フォーム データを ajax リクエストの URL に送信するnamejQuery 関数を使用できます。serialize()このようなもの:

var jsonData = $.ajax({
                url: "server.php",
                data: $('#myForm').serialize(),
                dataType: "json",
                async: false
            }).responseText;

dataajax 呼び出しにオプションが追加されていることに注目して#myFormください。 はフォームの ID です。

たとえば、

<input type="text" name="start_date" />

あなたのフォームでは、ajaxリクエストは実際にに送信されますserver.php?start_date=2012-11-20

于 2012-11-21T21:59:19.593 に答える
1

ページ上のフォーム (以下のようなもの) を想像すると、テキスト フィールドに入力された値を取得し、drawChart() 関数で使用できる JavaScript 変数に保存できる jQuery がいくつかあります。

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
    $(function(){
        $('#never_name_a_button_submit').click(function() {
            var start_date = $('start_date').val();
            var end_date = $('end_date').val();
            var type = $('type').val();
        });
    });
function drawChart() {
            var jsonData = $.ajax({
                url: "server.php?startdate=" + start_date "&enddate=" + end_date + "&type=" type,
                dataType: "json",
                async: false
            }).responseText;

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

</script>

<form id="myForm">
    <input type="text" name="start_date" id="start_date"><br />
    <input type="text" name="end_date" id="end_date"><br />
    <input type="text" name="type" id="type"><br />
    <input type="button" id="never_name_a_button_submit">
</form>
于 2012-11-21T22:09:47.377 に答える