×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
PHP でシステムを組んでいると、データの中の区分値などを select タグを用いて入力します。 この区分値を入力不可にしようとして select タグの部分に disabled="disabled" とすることが多いです。
ただこの方法ですと、画面上は select ボックスは表示されるのですが POST 処理で値が渡ってきません。 以下のソースをブラウザで表示して OK を押下すると「select value = 」の所には何も表示されません。
select タグに disabled="disabled" とするのではなく option タグに選択されていないところを disabled="disabled" とし 選択されたいるところに selected="selected" とします。 上記のソースを以下の様に変更しました。
この様にするとドロップダウン表示をした時に selected="selected" とした option タグが通常の表示となり disabled="disabled" としたタグは選択できない灰色の表示になります。
ただこの方法ですと、画面上は select ボックスは表示されるのですが POST 処理で値が渡ってきません。 以下のソースをブラウザで表示して OK を押下すると「select value = 」の所には何も表示されません。
<?php $strTestSel = isset($_POST['testsel']) ? $_POST['testsel'] : ''; ?> <!doctype html> <html lang="ja"> <head> <meta charset="utf-8"> </head> <body> <h2>selcet test</h2> <span> select value = <?php echo($strTestSel); ?> </span> <form method="post" > <select name="testsel" disabled="disabled"> <option value=""></option> <option value="1">TEST1</option> <option value="2" selected="selected">TEST2</option> <option value="3">TEST3</option> </select> <br /> <input type="submit" value="OK"> </form> </body> </html>
select タグに disabled="disabled" とするのではなく option タグに選択されていないところを disabled="disabled" とし 選択されたいるところに selected="selected" とします。 上記のソースを以下の様に変更しました。
<?php $strTestSel = isset($_POST['testsel']) ? $_POST['testsel'] : ''; ?> <!doctype html> <html lang="ja"> <head> <meta charset="utf-8"> </head> <body> <h2>selcet test</h2> <span> select value = <?php echo($strTestSel); ?> </span> <form method="post" > <select name="testsel"> <option value="" disabled="disabled"></option> <option value="1" disabled="disabled">TEST1</option> <option value="2" selected="selected">TEST2</option> <option value="3" disabled="disabled">TEST3</option> </select> <br /> <input type="submit" value="OK"> </form> </body> </html>
この様にするとドロップダウン表示をした時に selected="selected" とした option タグが通常の表示となり disabled="disabled" としたタグは選択できない灰色の表示になります。
PR
コメント