0

私は ajax ドメインの初心者で、本当に助けが必要です。

実際、データベースからデータを受け取るクエリを実行しました。

ここに私が持っているヘッダーがあります:

<script type="text/javascript">

    <?php if(isset($_GET['p']) AND $_GET['p']=='create_dossier') {?>
    function writeInDiv(text){
        var objet = document.getElementById('code_client');
        objet.innerHTML = text;
    }

    function ajax()
    {
        var xhr=null;

        if (window.XMLHttpRequest) {
            xhr = new XMLHttpRequest();
        }
        else if (window.ActiveXObject)
        {
            xhr = new ActiveXObject("Microsoft.XMLHTTP");
        }
        xhr.open("GET", "ajaxclient.php?code_client=<?php echo $_GET['code_client'] ; ?>", false);
        xhr.send(null);
        writeInDiv(xhr.responseText);
            setInterval("ajax()",5000);
    }
    <?php }?>
    </script>

ページ ajaxclient.php には、次のコードがあります。

<?php require_once('Connections/localhost.php'); ?><?php mysql_select_db( $database_localhost ); ?>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
</head>
<body>
 <table width="100%" border="0" id="box-table-a">
  <tr>
    <th scope="col" width="15%">CODE CLIENT</th>
    <th scope="col" width="15%">RAISON SOCIALE</th>
    <th scope="col" width="55%">ADRESSE </th>
    <th scope="col" width="15%">ACTION</th>
  </tr>
<?php 
$code_client=$_GET["code_client"];
      $sql="SELECT * FROM `client` INNER JOIN `adresse_client` ON `client`.`code_client` = `adresse_client`.`code_client` WHERE `client`.`code_client`='".$code_client."'";
        if (mysql_errno() <> 0) 
        {
            echo mysql_error(),'<br>',$sql,'<br>';
            die();
        } 
        $result=mysql_query($sql);
        while($donnees=mysql_fetch_assoc($result))
        {?>

  <tr>
    <td><?php echo $donnees['code_client'] ; ?></td>
    <td><?php echo $donnees['raison_sociale'] ; ?></td>
    <td><p align="left">&nbsp;<?php echo $donnees['rue'].'<br>'.$donnees['complement1'].'<br>'.$donnees['complement2'].'<br>'.$donnees['code_postal'].' - '.$donnees['ville'].'<br>'.$donnees['pays'] ; ?></p></td>
    <td><a href="index.php?p=create_dossier2&amp;code_client=<?php echo $data['code_client'] ; ?>"><img src="images/001_18.gif" width="24" height="24" /></td>
  </tr>
 <?php }
?></table>
</body>
</html>

create_dossier.php というページには以下が含まれます。

<form action="#" method="get"><fieldset>
 <legend>CR&Eacute;ANCIER</legend>
 <br />
 <label>Raison sociale:</label><input type="hidden" name="p" value="create_dossier" /> <input type="text" name="code_client" onkeypress="form.submit()" /></fieldset><p align="center"><input type="submit" name="enreg" value="Chercher !" /></form>

私が望むのは、ページを送信せずにデータを表示することであり、データを返す前に常にフォームを送信することです。そのために、ajaxは必要ありません。

何が間違っていて、それを修正する方法が本当にわかりません。

4

2 に答える 2

1

実際、次のようなフォーム送信を防止する必要があります。

onclick="return doSomeAction();"

function doSomeAction() {
    // create XHR object
    // send data
    // handle response
    return false;
}

あなたの場合は doSomeAction() = ajax() false を返すことを忘れないでください

于 2012-10-02T07:02:22.513 に答える