QuickFormのテキストボックスを使った郵便番号検索について

このQ&Aのポイント
  • QuickFormのテキストボックスを使っての郵便番号検索をしたいです。入力欄に郵便番号を入力してエンターキーを押すと検索処理を実行したいです。
  • 既にフォームに郵便番号入力欄のテキストボックスと検索ボタンを配置し、ボタンをクリックすると検索処理ができるようになっています。
  • また、Windows VistaとPHP5を使用しています。お知恵をお借りして問題解決をしたいです。
回答を見る
  • ベストアンサー

QuickFormのテキストボックス($form->addElemen

QuickFormのテキストボックス($form->addElement('text'~)を使っての郵便番号検索をしたいです。 郵便番号の入力欄のテキストボックスに郵便番号を入力してエンターを押した場合、郵便番号の検索処理を実行したいのです。 ちなみに、フォームに郵便番号入力欄のテキストボックス($form->addElement('text'~)と郵便番号検索処理を実行するボタンを用意して、 テキストボックスに郵便番号を入力した状態で実行ボタンを押すと郵便番号を検索して住所を取得することはできています。 質問をまとめますと、「郵便番号の入力欄のテキストボックスにカーソルがある状態でエンターを押した場合に既存の処理を実行する方法」があれば教えて下さい。 osはwindows vistaです。 php5を使用しています。 どんなに調べても分からないので、すがる思いで質問しています。 皆様、どうかよろしくお願い致します。

  • PHP
  • 回答数1
  • ありがとう数4

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

質問者さんがやりたい処理は、たぶん、Javascriptで実現する類じゃないでしょうか。 QuickFormは一度おいといて、inputタグを直接書いて、javascriptでどうやって実現するか、考えてみてはいかがでしょう。 もしくは、javascriptのカテゴリで再度質問するとか。 【追伸】Javascriptだと、有名なスクリプトがあります。 http://www.kawa.net/works/ajax/ajaxzip2/ajaxzip2.html

yanagihk
質問者

お礼

ご回答を読んでjavascriptの勉強をしてみようと思いました。教えてもらった有名なスクリプトは とても早く住所を検索しますね。とても良いのですが、合併などで市区町村名が変わったら 導入側での作業があるのかと気になりました。 すごく貴重な情報なので是非検討させていただきます。 ありがとうございました。

関連するQ&A

  • PEAR::HTML_QuickFormのfreezeについて

    PEAR::HTML_QuickFormのfreezeを使って、特定の項目だけフリーズさせたいと考えてます。 全体をフリーズさせるときは、 $this -> freeze(); としてますが、項目のみの場合も出来るような事が書いてありました。 下記のソースの場合は、どのように設定すればよいかおしえてもらえますでしょうか? <?php require_once "HTML/QuickForm.php"; $form = new HTML_QuickForm('frmTest', 'get'); $form->addElement('header', 'MyHeader', 'Testing QuickForm'); $form->addElement('text', 'MyTextBox', 'What is your name?'); $form->addElement('reset', 'btnClear', 'Clear'); $form->addElement('submit', 'btnSubmit', 'Submit'); if ($form->validate()) { # If the form validates then freeze the data $form->freeze(); } $form->display(); ?>

    • ベストアンサー
    • PHP
  • form内のtextボックス

    にフォーカスが移った直後に textボックスの入力モードを 半角英数字入力モードにする方法を教えてください また form内のtextボックス にフォーカスが移った直後に textボックスの入力モードを 日本語入力モードにする方法を教えてください

  • QuickFormのaddElementを使ったパスワードについて教え

    QuickFormのaddElementを使ったパスワードについて教えて下さい。 PHPとMYSQLとQuickFormを使い、WINDOWS VISTA環境にて会員機能の画面を作っています。 入力画面→確認画面→登録(更新)画面の構成で作っています。 ◎目的(やりたいこと) 登録や更新情報の入力画面でパスワードの入力欄(入力必須)は入力する度に「*」が表示される。 入力内容の確認画面に遷移すると、パスワードが「*」表示されるのみの状態(変更不可)とする。 登録処理や更新処理を行うと実際に入力画面に入力したパスワードがmysqlにmd5計算されたものをもとに登録や更新を行う。 ※現状では、登録画面にてユーザーIDの入力項目を設けてあり、ログイン画面にて登録したユーザーIDとパスワードでログインできていますが、今後もこの機能を使いたいです。 現状は下記のリンク先のものがソースとなりまして、パスワードは「*」表示ではなく、画面には入力した文字列が表示されてしまいますが、それ以外の 目的は達成(正常に動作)しています。 単純に入力項目の設定で(1)$form->addElement('text','password','パスワード');の行を (2)$form->addElement('password','password','パスワード');に変更して実行すると、 確認画面で$form->freeze();を行い、(3)$form->addRule('password', 'パスワードを入力してください。', 'required', null, 'server');の行でパスワードが入力されていないものと判定されます。 そして、画面に「パスワードを入力してください。」の警告が表示されて登録や更新処理に進みません。 また、(1)を(2)に変更して、(3)の行をはずして実行すると、警告は表示されず、入力したパスワードがMD5計算されて、mysqlに登録されます。 しかし、ログイン画面に登録したユーザーIDとパスワード(MD5計算前のパスワード)を入力してログインしようとすると、「ユーザ名かパスワードが間違っています。」という警告が画面に出てログインできません。 ※ログイン認証のロジックは変えていないので不思議です。この時ログイン認証でのauth->statusの値は-3でした。 ソースは、下記のリンクをクリックしたものです。 ソースのどこに問題があるのかが分からないので、関係のないロジックも含まれていて解読に苦しんでしまうと 思いますが、どうかお許し下さい。 分かる方がいましたら、ご教授下さい。 ◎ソース http://www.beauty-program.com/sample.txt 宜しくお願い致します。

    • ベストアンサー
    • PHP
  • 1つのテキストボックスを、2つのボタンで利用したいのです。

    ASP初心者です。 宜しくお願いします。 1つの画面に 1.「検索ボタン」 2.「EXCEL出力」ボタン 3.「テキストボックス1」 4.「テキストボックス2」 を作成しました。 「検索ボタン」を押下した時も「EXCEL出力ボタン」を押下した時も、 テキストボックス1と2に入力された値を利用するにはどのようにしたら良いのでしょうか? (テキストボックスへ入力された値は、DBへの問い合わせの際のwhere句指定で使用します。) ボタンが1つだけの時は<form>~</from>の間に、テキストボックスの記述を行い、 受け側ではRequest.Formで値を取得する事ができたのですが、 テキストボックスを共用しようとした途端、分からなくなってしまいました。 有識者の皆様、よろしくお願い致します。

  • QuickFormのradioボタンでエラーが出る

    require_once("HTML/QuickForm.php"); $form = new HTML_QuickForm(); $ques[] = &HTML_QuickForm::createElement('radio', null, 'Yes', 'Yes', '1');←”ここでエラーがでる” $ques[] = &HTML_QuickForm::createElement('radio', null, 'No', 'No', '2'); $form->addGroup($ques, 'ques'); $form->addRule('ques', '入力してください。', 'required', null, 'client'); if ($form->validate()){ $form->freeze();} $form->addElement('submit','submit', '送信'); require_once("HTML/QuickForm/Renderer/ArraySmarty.php"); $renderer= new HTML_QuickForm_Renderer_ArraySmarty($smarty); $form->accept($renderer); $smarty->assign('form', $renderer->toArray()); $file = 'test.tpl'; $smarty->display($file) ----------------------------------------------------------- HTML_QuickFormでラジオボタンをチェックしたいのですが、「←”ここでエラーがでる”」の部分で、Fatal error: [] operator not supported for strings in /virtual/パス/test.php on line 19←ここの数字はエラー行 のエラーがでます。 どうやったら、エラーを回避できるか分かりません。 よろしくお願いします。

    • 締切済み
    • PHP
  • 参照渡しを使う理由がわかりません

    PEARの 'HTML/QuickForm.php' を利用し、フォームを作成しようと思いました。 以下ソースを入力していたところ、ラジオボタンのところで参照渡しが出てきました。 【$obj =& $form->addElement("radio", "age", "年代:", "10代", "10", array("checked"));】 ラジオボタン以前のテキストボックス等は = だったのですが、なぜ、 ラジオボタンだけ参照渡しをするのでしょうか? 何かメリットがあるから参照渡しをしているのだと思うのですが…。 ご教授よろしくお願いします ====ソースここから <?php // 必要パッケージの読込み require('HTML/QuickForm.php'); // ●Form要素の構築 $form = new HTML_Quickform("test","POST"); // formの設定 $form->setRequiredNote("<span style=color:red>*</span> 記入必須項目"); // 記入必須項目の説明用文字列設定 $form->setJsWarnings("エラー",""); // Javascriptエラーの際の文字列設定 // header 要素を追加 $form->addElement("header", "title", "情報を記入"); // hidden 要素を追加 $form->addElement("hidden", "id", uniqid("")); // text 要素を追加 $form->addElement("text", "name", "名前:", array("value"=>"","size"=>"24")); // radio 要素を追加 $obj =& $form->addElement("radio", "age", "年代:", "10代", "10", array("checked")); // デフォルトでチェックの設定にする $obj->setChecked(TRUE); $form->addElement("radio", "age", "", "20代", "20"); $form->addElement("radio", "age", "", "30代", "30"); $form->addElement("radio", "age", "", "40代", "40"); : : =========ソースここまで

    • ベストアンサー
    • PHP
  • HTML_QuickFormのチェックボックスについて

    smartyと連携させて作っています。 チェックボックスで取得した値を任意の場所に指定させたいのですが どのようにすればできるのでしょうか? 現状は、チェックボックスの値は正常に表示されるのですがメール本文 の最下部に表示されてしまい任煮の場所に表示させたいのですが方法がわかりません。 「現状のメール本文」 =============================================================== 【氏名】 nameに入力した値 【選択】 Array //←Arrayではなくここに選択肢の値を入れたい =============================================================== cb3の値 //←ここに選択肢の値は表示させたくない 中身は以下のようになっています。(抜粋) <?php $form->addElement('text', 'name', '氏名'); $checks = array(); $checks[] =& HTML_QuickForm::createElement('checkbox', 'cb3_1', null, 'cb3_1_label'); $checks[] =& HTML_QuickForm::createElement('checkbox', 'cb3_2', null, 'cb3_2_label'); $checks[] =& HTML_QuickForm::createElement('checkbox', 'cb3_3', null, 'cb3_3_label'); $form->addGroup($checks, 'cb3', '選択', "<br />\n"); $form->addGroupRule('cb3', '選択は必須項目です', 'required', null, 1); $message = <<<EOD =============================================================== 【氏名】 {$value['name']} 【選択】 {$value['cb3']} =============================================================== EOD; foreach ($value['cb3'] as $k => $v) { switch ($k) { case 'cb3_1' : $message .= "選択肢1が選択されました。\n"; break; case 'cb3_2' : $message .= "選択肢2が選択されました。\n"; break; case 'cb3_3' : $message .= "選択肢3が選択されました。\n"; break; } } mb_send_mail($to, $subject, $message, "From: {$value['email']}"); $form->freeze(); } else if ($form->validate() && isset($value['confirm'])) { } else { } ?>

    • 締切済み
    • PHP
  • 一行テキストボックス内でEnterキーに対応したい

    一行テキストボックス内でEnterキーに対応したい BingやYahoo!などの検索サイトをリストボックスから選んで検索できる検索ボックスを制作しています。 現在、検索ボタンを押したときに、検索サイトのURLにジャンプする処理には成功しています。 document.location = urlbefore + encodeURI(document.all('sf').searchBox.value) + urlafter; これを検索BOX内でEnterキーを押したときにも実行させるにはどのようにすればよいのでしょうか。

  • テキスト入力後、エンターを押すことで関数を実行するには

     formのtextエリアに値を入力し、その隣に配置したボタンでその値を利用した 関数を実行することはできます。しかし、誤ってtextエリアでエンターを押してしまうと、 入力値が消えて何かが実行されているようですが、何も起きません。  参考書などを見て、onchangeかonBlurでも使えばよいのかと思い試してみましたが、だめです。  textエリアでクリックすることで、その値を利用した関数を実行できる=隣のボタンを クリックすることと同様の動作を実現するにはどうしたらよいのでしょうか。 《サンプル》 <input type = "text" name="text"> <button onClick ="xxxx()"> 実行 </button>  ※上のtextのvalueを元に実行するのが下のボタンの"xxxx()"

  • テキストボックスの入力形式の指定はできるのか?

    現在FORMでアンケートを取っています。 このとき電話番号などの欄があるのですが、 ココを半角英数字で入力して欲しいと思っています。 カーソルが電話番号のテキストボックスに移った際に 自動的に入力を半角英数字に指定することは出来るのでしょうか?

専門家に質問してみよう