2009-10-02 65 views
0

我有一個「添加人員」的形式與幾個字段(姓名,地址,電話號碼等)。如何使用Ajax動態地填充CakePHP中的輸入文本字段?

我希望能夠在提交表單之前使用來自其他字段的信息預填一些字段。例如,一旦用戶進入城市,Ajax查詢將拉出電話號碼的區號(控制器具有「城市到區號」數據庫)並將其放入電話號碼字段中,希望它可以節省一些打字。

我試過使用observeField,但它似乎只能改變一個元素的innerHTML,而不是輸入字段的值。

任何有關如何去做的建議?謝謝。

+0

對於像洛杉磯或休斯頓這樣擁有3個以上區號的大型都會區,你會怎麼做?我建議下拉一下,但這不是用戶可編輯的,我可能有一個我在紐約居住時獲得的電話號碼,但現在(我感謝手機計劃),我住在芝加哥。我知道這不是你的問題,但只是一個頭。 – Anthony 2009-10-02 00:48:22

回答

1

假設有兩種形式:

<form id="formOriginal"> 
    <input type="text" name="name"/> 
    <input type="text" name="address"/> 
    <input type="text" name="city"/> 
    <input type="text" name="state"/> 
</form> 

<form id="formCopy"> 
    <input type="text" name="name"/> 
    <input type="text" name="address"/> 
    <input type="text" name="city"/> 
    <input type="text" name="state"/> 
</form> 

您應該能夠通過項目環和如下的值複製:

$('#formOriginal input').each(function(e) { 
    var name = e.attr('name'); 
    var $copy = $('#formCopy input[@name=' + name + ']'); 

    if ($copy) { 
     $copy.val($(e).val()); 
    } 
}); 
1

如果你想改變一個文本輸入的值,那麼你可以使用.val()

因此,在你的ajax成功,你將會有一個回調:

success: function(data){ 
    $('#foo').val(data); 
} 
相關問題