0

私の質問は、デフォルトでページにフォームを表示しないようにするにはどうすればよいですか? たとえば、オプション付きのプロキシがあり、デフォルトでオプションを表示したくないのですが、オプションフォームへのリンクが必要です。私の言っていることが理解できない場合は、私が取り組んでいるページを次に示します: proxy with options

また、現在ページにあるコードは次のとおりです。

<form action="includes/process.php?action=update" method="post" onsubmit="return updateLocation(this);" class="form">
        <input type="text" name="u" id="input" size="40" class="textbox">
        <input type="submit" value="Go" class="button"> &nbsp; [<a style="cursor:pointer;" onclick="document.getElementById('options').style.display=(document.getElementById('options').style.display=='none'?'':'none')">options</a>]
        <ul id="options">
            <?php foreach ($toShow as $option) echo '<li><input type="checkbox" name="'.$option['name'].'" id="'.$option['name'].'"'.$option['checked'].'><label for="'.$option['name'].'" class="tooltip" onmouseover="tooltip(\''.$option['escaped_desc'].'\')" onmouseout="exit();">'.$option['title'].'</label></li>';?>
        </ul>
        <br style="clear: both;">
    </form>
    <div class="navigation">
        <!--[glype:error]--> 
    <?php ## Display error messge if applicable
if ( isset($_SESSION['msg']) ) {
    echo '<div id="error">',$_SESSION['msg'],'</div>';
    unset($_SESSION['msg']);
} ?>

編集:また、チェックボックスをテキストに揃える方法はありますか?

4

1 に答える 1

1

<div>style 属性を使用してフォームを に配置し、フォームを表示する必要があるときにdisplay:noneそれを変更できます。display:block

編集:コードが正しくフォーマットされたので、これをさらに拡張できます。オプション ul に display:none としてスタイルを設定するだけです。これは、デフォルトではオプションが表示されないことを意味します。

ユーザーがエラーを起こし、オプションを選択した場合、デフォルトでオプションを表示したいと思いますか? その場合、$show_options という変数を作成します。これは、デフォルトでは false ですが、送信時にオプションのいずれかが選択されている場合は true です。次に、オプション ボックスの html で次のコードを使用します。

<ul id="options" style="<?php echo (($show_options)?(''):('display:none')); ?>">

于 2012-05-13T19:35:54.117 に答える