使用getadress功能自动填写表单

时间:2013-11-22 15:50:31

标签: javascript php jquery ajax

我的AJAX功能存在问题。

通过我们的支付系统,我们允许用户根据个人代码自动获取地址。
我必须使用表单来实现此功能,但我不能让页面重新加载或更改其他字段中的值。所以我正在尝试使用AJAX。

问题是我尝试从AJAX文件中获取的信息没有得到回应。
我希望你能帮助我找出问题所在。

很抱歉代码的数量,我也不允许显示一些代码,因此在某些方面看起来很奇怪。

事先谢谢!

更新

我似乎有另一个问题。现在,当我得到结果时,如果用户在他/她的名字上有多个地址。我检查给定的地址是否存在,否则给出错误。因此,如果用户在其名称上注册了多个地址,则会获得正确的结果以及他们已注册的每个“额外”地址的错误。如果我无法访问mysql,有没有办法限制结果?

/更新

使用AJAX onclick()表单:

<form action="" method="post">
  <label for="personcode"> Person/Org.nr: </label> <input type="text" name="prsnmr" id="personcode" /> 
  <label for="zipcode"> Zipcode:      </label> <input type="text" name="zipnmr" id="zipcode" /> 
  <input type="button" name="submit" id="submit" value="Get my adress" onclick="getadress()"> <i>(YYMMDD-XXXX)</i> 
</form>

AJAX

function getadress(){
        $.ajax({
            type: "POST",
            url: "kassa_auto.php",
            data:   "prsnmr=" + document.getElementById("prsnmr").value + 
                    "&postnmr=" + document.getElementById("postnmr").value,
            success: function(html){
                $("#response").html(html);
            }
        });

        }

Div显示结果:

<div id="response"></div>

kassa_auto.php // iconv是因为原始语言是瑞典语(å,ä,ö与支付系统的效果不佳。)

if(isset($_POST['prsnmr'])){
        $prsnmr = $_POST['prsnmr'];
    }else{
        $prsnmr = '';
    }

    $addrs = $k->getAddresses($prsnmr);

    /* If there exists several addresses you would want to output a list in
       which the customer could choose the address which suits him/her.
     */

    // Print them if available:
    foreach ($addrs as $key => $addr) {

         $postnmr  = $_POST['postnmr']; //Get the zip code

         if($addr->getZipCode() == $postnmr){  //Limit to only show one adress based on the zipcode
?>

        <?php
        echo "<table style='margin-bottom:15px;' align='center'>\n";
        echo "\t<tr><td colspan='3' align='center'><u>Information</u></td></tr>\n";
        // This only works if the right getAddresses type is used.
        if ($addr->isCompany) {


        echo iconv('ISO-8859-1', 'UTF-8', "\t<tr><td>F&ouml;retag</td><td><input name='foretag' autofocus='autofocus' id='foretag' type='text' readonly='readonly' value='{$addr->getCompanyName()}' /></td><td>Referens:</td><td><input name='reference' type='text' id='reference' /></td></tr>\n");
        echo iconv('ISO-8859-1', 'UTF-8', "\t<tr><td>Adress:</td><td><input name='adress' id='adress' type='text' readonly='readonly' value='{$addr->getStreet()}' /></td><td>Telefon:</td><td><input name='telefon' type='text' id='telefon' /> </td></tr>\n");    
        echo "\t<tr><td>Postnr:</td><td><input name='postnummer' id='postnummer' type='text' readonly='readonly' value='{$addr->getZipCode()}' /></td></td></tr>\n";
        echo iconv('ISO-8859-1', 'UTF-8', "\t<tr><td>Ort:</td><td><input name='ort' id='ort' type='text' readonly='readonly' value='{$addr->getCity()}' /></td><td>Meddelande:</td><td><textarea name='message' id='message' /></textarea></td></tr>\n");
        echo iconv('ISO-8859-1', 'UTF-8', "\t<tr><td>Land:</td><td><input name='option1' id='option1' type='text' readonly='readonly' value='{$addr->getCountryCode()}' /></td><td>&nbsp;</td><td><input name='submit' type='submit' value='G&aring; vidare' /></td></tr>\n");
        echo "</table>\n";


        } else {


        echo iconv('ISO-8859-1', 'UTF-8', "\t<tr><td>F&ouml;rnamn:</td><td><input name='namn' autofocus='autofocus' id='namn' type='text' readonly='readonly' value='{$addr->getFirstName()}' /></td><td>Mobil:</td><td><input name='telefon' type='text' id='telefon' /> <i>(F&ouml;r avisering)</i> </td></tr>\n");
        echo iconv('ISO-8859-1', 'UTF-8', "\t<tr><td>Efternamn:</td><td><input name='enamn' id='enamn' type='text' readonly='readonly' value='{$addr->getLastName()}' /></td><td>Epost:</td><td><input name='email' type='text' id='email' /></td></tr>\n");
        echo iconv('ISO-8859-1', 'UTF-8', "\t<tr><td>Adress:</td><td><input name='adress' id='adress' type='text' readonly='readonly' value='{$addr->getStreet()}' /></td></tr>\n");
        echo "\t<tr><td>Postnr:</td><td><input name='postnummer' id='postnummer' type='text' readonly='readonly' value='{$addr->getZipCode()}' /></td><td>Meddelande:</td><td><textarea name='message' id='message' /></textarea></td></tr>\n";
        echo iconv('ISO-8859-1', 'UTF-8', "\t<tr><td>Ort:</td><td><input name='ort' id='ort' type='text' readonly='readonly' value='{$addr->getCity()}' /></td><td>&nbsp;</td><td><input name='submit' type='submit' value='G&aring; vidare' /></td></tr>\n");
        echo iconv('ISO-8859-1', 'UTF-8', "\t<tr><td>Land:</td><td><input name='option1' id='option1' type='text' readonly='readonly' value='{$addr->getCountryCode()}' /></td></tr>\n");
        }
        echo "</table>\n";
        ?>


        <?php
        }elseif($addr->getZipCode() == NULL){
          echo "We did not find a address with that zipcode";   
        }
    }
?>

0 个答案:

没有答案