名前と場所を収集するための html フォームがあり、ユーザーがフォームを送信すると、php エコーを使用してページの下部に出力が表示されます
私の要件は、
output div
フォーム送信前とユーザーがデータを入力して送信した後に非表示にすると、 output div
php echo を使用してフォーム出力を表示できるようにする必要があります
ここに私のHTMLコードがあります:
<div class="main">
<form id="main" name="main" action="#text" method="post">
<div class="input">
<div id="name">
<div class="block">
<div class="input-quest">Your Name</div>
<div class="input-resp"><span><input class="textbox" id="nm" name="nm" type="text" value="" /></span>
</div>
</div>
</div>
<div id="place">
<div class="block">
<div class="input-quest">Your Place</div>
<div class="input-resp"><span><input class="textbox" id="pl" name="pl" type="text" value="" /></span>
</div>
</div>
</div>
</div>
<div class="submit">
<input id="generate" type="submit" name="script" value="generate" />
<input type="submit" id="clear" name="clear" value="clear" />
</div>
</form>
<div class="output">
<?php $name = $_POST['nm']; $place = $_POST['pl']; echo "Hello, I am $name and I am from $place"; ?>
</div>
</div>
セクションに PHP エコー コードが含まれていますoutput div
。
以前の質問で解決策を検索し、そこに記載されている以下の方法を試しました
output div
1.非表示にするためのインラインcssタグを追加
<div id="output" style="display: none;">
<!-- echo php here -->
</div>
送信中に関数を呼び出すためのJavaScriptを追加しました
$('main').submit(function(){
$('#output').show();
});
うまくいきませんでした。
2.以下のJavaScriptコードで試しました
$('main').submit(function(e){
$('#output').show();
e.preventDefault();
});
うまくいきませんでした。
3.非表示にする出力divのインラインcssを削除し、同じものをcssスタイルシートに追加しました
<div id="output">
そしてスタイルシートで
#output{
display:none;
}
送信時にJavaScriptコードの下で使用されます
$('main').submit(function(){
$('#output').css({
'display' : 'block'
});
});
うまくいきませんでした。
フォーム送信とともにonclick機能を追加
ボタンのコードを送信します。
<input id="generate" type="submit" name="script" value="generate" onclick="showoutput()"/>
およびJavaScript:
showoutput(){
$('#output').slideDown("fast");
}
そして
showoutput(){
$('#output').show();
}
うまくいきませんでした。
これを行うための解決策を提案してください。