2012-03-04 14 views
0

私はフォームを持っています。ユーザーは次の国から国を選択する必要があります。ユーザーはオーストラリアを選択します。ユーザーが携帯電話番号を入力できる場所をもう1つ入力します国iは、それらのusers.iの携帯電話番号を格納することができますが、if文を試したが動作しません。サインアッププロセス中に ユーザーが、私は彼らがまたそこに携帯電話番号を入力するオーストラリアを選択して、他のユーザーのために携帯電話の番号がテキストボックスの挿入後の国

if(location==Australia){ 
echo'<tr> 
<td width="49" ><div align="left"></p><p> 
Mobile No</div></td><td> 
<input type="text" size="20" name="mobile" value="'.h($_REQUEST['mobile']).'" class="fpost" style="width:220px" /></tr>';} 



<tr class="row1"><td>Come from</td><td> 
       <select name="location" class="inputText"><option value="Afghanistan ">Afghanistan </option><option value="Albania ">Albania </option><option value="Algeria ">Algeria </option><option value="American Samoa ">American Samoa </option><option value="Andorra ">Andorra </option><option value="Angola ">Angola </option><option value="Anguilla ">Anguilla </option><option value="Antarctica ">Antarctica </option><option value="Ant &amp; Bar ">Ant &amp; Bar </option><option value="Argentina ">Argentina </option><option value="Armenia ">Armenia </option><option value="Aruba ">Aruba </option><option value="Australia ">Australia </option><option value="Austria ">Austria </option><option value="Azerbaijan ">Azerbaijan </option><option value="Bahamas ">Bahamas </option><option value="Bahrain ">Bahrain </option><option value="Bangladesh ">Bangladesh </option><option value="Barbados ">Barbados </option><option value="Belarus ">Belarus </option><option value="Belgium ">Belgium </option><option value="Belize ">Belize </option><option value="Benin ">Benin </option><option value="Bermuda ">Bermuda </option><option value="Bhutan ">Bhutan </option><option value="Bolivia ">Bolivia </option><option value="Bosnia ">Bosnia </option><option value="Botswana ">Botswana </option><option value="Bouvet">Bouvet</option><option value="Brazil ">Brazil </option><option value="Brunei">Brunei</option><option value="Zimbabwe">Zimbabwe</option></select> 

+0

を?私はちょうど静的なHTMLコードを参照してください。 – Basti

+0

オプションリストでこれらの国をすべて削除してください.2つまたは3つはサンプルとして十分でしょう –

+1

神の母親、新しい国を追加すると想像してください。 –

答えて

1

を必要とされていない場合、私が最初に私からの私の出力論理を試してみて、分離うこのようなデータは、$countriesは国名の文字列の配列です。

<tr class="row1"> 
    <td>Come from</td> 
    <td> 
    <select name="location" id="location" class="inputText"> 
<?php 
    foreach ($counties as $country) { 
     echo '<option value="', $country, '">', $country, '</option>'; 
    } 
?> 
    </select> 
    <td> 
</tr> 

その後、私は、ドロップダウンを処理するためのjQueryの.change()機能または類似のフレームワークを使用します。

$('#location').change(function() { 
    if ($(this).val() == 'Australia') { 
     // Show the text box 
    } 
}); 
1

まあ、私はあなたがこのような何か...したいと思います(jQueryのない純粋なJavaScriptを。。作業するために、次のコードでは、select要素とtextbox要素の他にIDを追加)

var showTextBox = function(prefix) { // Function to add the textbox with defined value 
    var textBox = document.getElementById('textbox') 
    textBox.value = prefix 
    textBox.style.display = 'block' 
} 
document.getElementById('select').onchange = function(e) { 
    var target = e.target || window.event // Cross-browser target 
    switch (target.value) { // Depending on the value 
     case 'Australia': 
      showTextBox('+61 ') // Use the function with the correct prefix 
      break; 
     case 'otherCountry': 
      showTextBox('+XX ') 
    } 
} 

switchステートメントは、後で別の国を追加したい場合は、簡単に行うことができます。

P.S:I'm feeling lonely

1

あなたのページにjQuery Libraryを含めると、いいスライド効果を含めてこれを達成することができます。

は、携帯電話番号のフィールドが含まれているtr要素にid="mobile_container"を追加し、あなたのページにこのようなものを追加します。動作していない、あなたの「if文」がある

<script type="text/javascript"> 
$(function() { 

    // Hide the mobile field initially 
    if($("select[name='location']").val() != 'Australia') { 
     $("tr#mobile_container").hide(); 
    } 

    $("select[name='location']").change(function(){ 
     // This fires when user changes location 
     if($(this).val() == 'Australia') { 
      // Australia selected, let's show the mobile row 
      $("tr#mobile_container").slideDown(); 
     } else { 
      // Australia not selected, we make sure mobile row is hidden 
      $("tr#mobile_container").slideUp(); 
     } 
    }); 
}); 
</script> 
+0

は試してみましたが、ここでは動作しませんでした。私のコードは\tです。$(function(){ if($( "select [name = \ 'location \']") \ 'オーストラリア\'){ $( "tr#mobile"); } $( "select [name = \ 'location \']")change(function {){ if( $( "tr#mobile");$ {this}} { } }); }); "mobno" value = "'($ _REQUEST [' mobno ');]]]]]]]]]]]]]]]> [ ])) '' /> '; –

+0

「」の前に「」を追加してください。また、trが確かに '

'の一部であることを確認してください。また、オプション値(たとえば、値の末尾にある空白も削除する必要があります。'value =" Australia ")ではなく、' value = "Australia" ')。また、jQueryのスライド関数はテーブルの行に非常によく見えることに注意してください。私はtable-lessレイアウトを推奨します。代わりに、slideUp()の代わりにslideDown()とhide()の代わりにshow()を使用することもできます。私は、あなたが国リストをどのように出力するかについて、他のコメント欄を2番目に挙げます。あなたのコードは維持するのが容易ではありません。素敵なPHP配列とループを考えてみてください。 – elaxsj

+0

は動作しませんでした –

関連する問題