0

選択項目のhtmlリストがあります。値 name: otherがあります。これを選択すると、テキスト入力が表示されます。

以下は私のコードです。ユーザーが 以外のオプションを選択するotherと、テキスト入力は非表示になります。ユーザーが選択から選択したときに、このテキスト フィールドを表示するにはどうすればよいですかother

<td>
    Interest <span style="color:#F00;">*</span>
</td>
<td>
    <select name="interest" id="travel_arriveVia" onchange="showfield(this.options[this.selectedIndex].value)">
        <option value="art" <?php if ($g_interest=="art" ) echo 'selected = "selected"'; ?>>Art</option>
        <option value="litteratures" <?php if ($g_interest=="litteratures" ) echo 'selected = "selected"'; ?>>Litteratures</option>
        <option value="business" <?php if($g_interest=="business" ) echo 'selected = "selected"'; ?>>Business</option>
        <option value="internet" <?php if($g_interest=="internet" ) echo 'selected = "selected"'; ?>>Internet</option>
        <option value="other_interest" <?php if($g_interest=="internet" ) echo 'selected = "selected"'; ?>>Other</option>
    </select>

    <script type="text/javascript">
        function showfield(name) {
            if (name == 'other_interest') document.getElementById('div1').innerHTML = '<input type="text" name="other_interest" class="trother" />';
            else document.getElementById('div1').innerHTML = '';
        }
    </script>
    <div id="div1"></div>
</td>

ありがとう。

4

2 に答える 2

0

div1 の代わりに、次のことができます。

<select name="interest" id="travel_arriveVia" onchange="showfield(this.options[this.selectedIndex].value)">
        <option value="art" <?php if ($g_interest=="art" ) echo 'selected = "selected"'; ?>>Art</option>
        <option value="litteratures" <?php if ($g_interest=="litteratures" ) echo 'selected = "selected"'; ?>>Litteratures</option>
        <option value="business" <?php if($g_interest=="business" ) echo 'selected = "selected"'; ?>>Business</option>
        <option value="internet" <?php if($g_interest=="internet" ) echo 'selected = "selected"'; ?>>Internet</option>
        <option value="other_interest" <?php if($g_interest=="internet" ) echo 'selected = "selected"'; ?>>Other</option>
</select>

<input type="text" name="other_interest" id="txtOther" class="trother" style="display: none;" />

<script>
  function showfield(name) {
        if (name == 'other_interest') document.getElementById('txtOther').style = 'display: block;';
        else document.getElementById('txtOther').style = 'display: none;';
    }
</script>
于 2013-03-28T09:54:27.613 に答える
0

そこにテキスト入力を保持しますが、選択が変更されたときに表示および非表示にするだけです。

<select name="interest" id="travel_arriveVia" onchange="showfield(this.options[this.selectedIndex].value)">
    <option value="art" <?php if ($g_interest=="art" ) echo 'selected = "selected"'; ?>>Art</option>
    <option value="litteratures" <?php if ($g_interest=="litteratures" ) echo 'selected = "selected"'; ?>>Litteratures</option>
    <option value="business" <?php if($g_interest=="business" ) echo 'selected = "selected"'; ?>>Business</option>
    <option value="internet" <?php if($g_interest=="internet" ) echo 'selected = "selected"'; ?>>Internet</option>
    <option value="other_interest" <?php if($g_interest=="other_interest" ) echo 'selected = "selected"'; ?>>Other</option>
</select>

<input type="text" id="other_interest" name="other_interest" class="trother" style="<?php if($g_interest != 'other_interest') echo 'display:none;'; ?>" />

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

        var input = document.getElementById("other_interest");
        if (name == 'other_interest') {
            input.style.display = "";
        } else {
            input.style.display = "none";
        }
    }
</script>
于 2013-03-28T09:56:33.280 に答える