-2

これは、データベースからレコードをフェッチしているPHPのコードです。

<?php
    include("dbconn.inc");
    $data = mysql_query(
              "SELECT `subtitle`, `mian-title`, `page_num`, `note_path`, `flash_path`
              FROM `main-page`
              WHERE `page_num` =".$r." LIMIT 1";
    echo $data;
    if (mysql_num_rows($data) == 0) {
        echo "No rows found, nothing to print so am exiting";
        exit;
    }
    while ($row = mysql_fetch_assoc($data)) {
        echo $row['page_num'];
    }
    include("close.php");
?>

そしてこれはHTMLです:

<form method="post" action="data.php">
    <input name="Button1" type="submit" value="&lt;&lt;" />
    <input name="test" style="width: 31px; height: 23px" type="text" /> // this is a value of page_num in DB.
    <input name="Button2" type="submit" value="&gt;&gt;" >
</form>

PHPコードからレコードを取得するためにAjaxコードを追加してから、返されたデータに応じて入力値を変更し、ページが更新されないようにしたいです。

4

2 に答える 2

1

入力に ​​id を指定する必要があります。また、入力に値を設定しようとしている場合は、次を使用する必要があります.val()

<script>
    $(function() {
        $.get('yourfile.php', function(data) {
            $('#test').val(data);
        });
    });
</script>
</head>
    <body>

    <form method="post" action="data.php">
        <input name="Button1" type="submit" value="&lt;&lt;" />
        <input id="test" name="test" style="width: 31px; height: 23px" type="text" /> // This is a value of page_num in the database.
        <input name="Button2" type="submit" value="&gt;&gt;" >
</form>

フォームの送信を停止しようとしている場合は、次のことを行う必要があります。

  1. フォームに id 属性を与えます。
  2. .submit()イベントをキャプチャする
  3. false を返す

これは配列をJSONとしてエンコードします:

<?php
    $arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
    echo json_encode($arr);
?>

Firefox (コンソール タブ) でFirebugを使用すると、次のように表示されます。

{"a":1,"b":2,"c":3,"d":4,"e":5}

jQueryでは、 の代わりに.get()を使用します.getJSON()

次に、代わりに関数内

    $('#test').val(data);

使用する

$('#test').val(data.a);
于 2012-10-13T21:54:38.893 に答える
0

jQueryを使用して関数を呼び出し、情報を にプッシュしてdiv、古い情報をプッシュする必要があります。(これが意味する場合。そうでない場合は、別の に入れるだけですdiv)。これは次のようになります。

<script type="text/javascript">
    // jQuery document

    $(document).ready(function(){
        function getInfo() {
            $.get('yourfile.php', function(data) {
                $('#yourdiv').html(data);
            });

</script>

これでうまくいくはずです。そうでない場合は、いつでも の$.ajax代わりにa を追加できます$.get

$("#inputid).click(function(){
    if ('value' == this button){
        $.get('yourcontentsfile.php', function(data){
            $('#contentthatmustchangediv').html(data);
        }
        if('value' == the other one){
            $.get('yourcontentsfile.php', function(data){
                $('#contentthatmustchangediv').html(data);
            }
        });

このコードが 100% 機能するかどうかは完全にはわかりません。1 つまたは 2 つの変更が必要になる場合があります。しかし、その考えは正しいはずです。

(お気づきかどうかわかりませんが、「mian-title」と入力しています。タイプミスかもしれません。)

于 2012-10-13T21:37:32.430 に答える