0

私のフォームはこんな感じです。

<form action="add_customers.php" method="post"     onsubmit="MM_validateForm('name','','R','passport_no','','R','remarks','','R');return     document.MM_returnValue">
  <tr>
    <td>Name of the Applicant:</td>
    <td><label for="name"></label>
    <input type="text" name="name" id="name" /></td>
  </tr>
  <tr>
     <td>Country applying for :</td>
    <td><label for="country"></label>
      <select name="country" id="country">
        <option>Singapore</option>
        <option>Malaysia</option>
        <option>Istanbul</option>
         <option>Thailand</option>
        <option>China</option>
        <option>Other</option>
    </select></td>
  </tr>
  <tr>
    <td>Visa Categeory :</td>
    <td><label for="visa_categeory"></label>
      <select name="visa_categeory" id="visa_categeory">
        <option>Visit</option>
        <option>Business</option>
        <option>Other</option>
    </select></td>
  </tr>
  <tr>
    <td>Passport No:</td>
    <td><input type="text" name="passport_no" id="passport_no" /></td>
  </tr>
    <tr>
    <td>Remarks:</td>
    <td><label for="remarks"></label>
    <textarea name="remarks" id="remarks" cols="45" rows="5"></textarea></td>
  </tr>
  <tr>
     <td>&nbsp;</td>
    <td><input type="submit" name="submit" id="submit" value="Submit" /></td>
  </tr></form>

今私の問題は、1)ユーザーがビザカテゴリから他のオプションを選択すると、ユーザーのテキストボックスが自動的に表示され、ユーザーが入力したものをキャプチャすることです。2) その詳細を mysql データベースに保存します

使用言語はPHP、MYSQL

ありがとう。

4

3 に答える 3

1

フォームにテキスト ボックスを追加して、最初は非表示にすることができます。
javascriptを使用して、言及したドロップダウンの変更時に表示されるテキストボックスを取得します。
データを受け入れるページのテキストボックスの値を取得し、他の変数とともに add_customers.php のデータ データベースに挿入できます。

<script>
function visacatOnchange(){
    var visa_cat = document.getElementById('visa_categeory').value 
    if(visa_cat == "Visit")
        document.getElementById("new_textbox").style.display="block";
    else
        document.getElementById("new_textbox").style.display="none";
}
 </script>

HTML形式で追加

<input type="text" name="new_textbox" id="new_textbox" style="display:none;">

変更する

<select name="visa_categeory" id="visa_categeory" onChange="visacatOnchange();">

幸運を :-)

于 2013-06-19T05:02:34.097 に答える
0

最初の問題を解決するのに役立ついくつかの基本的な JavaScript/jQuery を次に示します: http://jsfiddle.net/j4aXQ/

HTML

<form>
    <select name="visa_category">
        <option>Visit</option>
        <option>Business</option>
        <option>Other</option>
    </select>
</form>

JS

$('select').change(function() {
    var $selected = $('select option:selected');
    if ('Other' === $selected.text()) {
        $('form').append($('<input>').prop({'type':'text','id':'visa_other','name':'visa_other'}));
        $('form').append($('<label>').prop({'for':'visa_other'}).html('Testing'));
    } else {
        $('input').remove();
        $('label').remove();
    }
});

上記のコードは、[その他] オプションが選択されている場合にのみテキスト ボックス (および付随するラベル) を表示し、その後別のオプションが選択された場合にそのテキスト ボックスを削除します。

それが役立つことを願っています!

于 2013-06-19T05:28:29.193 に答える
0

最初は、テキストボックスの div を非表示にしてから、選択入力の「onchange」イベントで表示できます。

<div id="textboxdiv" style="visibility: hidden">
Visa Option <input type="text" id="someid"/>
</div>


 <select name="visa_categeory" id="visa_categeory"  onchange="showTextBox()" > 
         <option>Visit</option>
            <option>Business</option>
            <option value="99" >Other</option>
      </select>

Jquery を使用すると、次のように表示できます。

      function showTextBox(){
      if ($('#visa_categeory').val() == '99') {
      $('#textboxdiv').css({'visibility':'visible'});
    }
于 2013-06-19T05:17:42.810 に答える