こないだzend framework+smartyで郵便番号のajax検索を作りましたが、大口事業者の事業者名を氏名欄に入力したい、ということなので、結局ajaxのレスポンスをプレーンテキスト→JSONにすることに。
固定js
function searchZipAddress(inputTarget, destTargetAddress, destTargetName, action) { var inputID = '#' + inputTarget; var destAddressID = '#' + destTargetAddress; var destNameID = '#' + destTargetName; var inputVal = $(inputID).val(); var reqURL = action + '/zip/' + inputVal + '/'; // JSONで返ってくるので適宜構築 $.getJSON(reqURL, function(result) { if (result.message != '') { $(destAddressID).val(result.message); } else { $(destAddressID).val(result.pref + result.city + result.area); if (result.jigyousho_name != '') { $(destNameID).val(result.jigyousho_name); } } }); }
zip.tpl
{$result|json}
<?php function smarty_modifier_json($source) { return Zend_Json::encode($source); }