2

我试图在提交操作后显示或隐藏 div。所以假设我有textarea,我把“例子”放在那里,然后选中复选框。提交后,“receipt.php”页面必须显示“example”,如果我取消选中复选框并提交,receipt.php页面必须隐藏“example”。我尝试搜索类似于我的问题,但我真的不知道如何解决它。到目前为止我有这段代码,但我在“receipt.php”中没有任何代码,因为我真的不知道。请帮助我

<form method ="POST" action ="receipt.php">
<textarea name ="comment"></textarea><br>
<input type="checkbox" id="checkbox" value ="1"  >Show this comment in receipt<br>
<input type ="submit" value ="Print">
</form>
4

4 回答 4

2

您不需要服务器响应来识别复选框是否被选中,除非您在服务器端进行了一些验证。如果使用 JQuery,您可以这样做:

$('#checkbox').change(function(){
  $('#your_div').toggle();
});

如果你想依赖你的服务器所说的,你需要向你的 ajax 调用返回一些东西。例如{响应:真/假}

于 2013-10-01T13:41:38.060 回答
0

这是您在独特的 PHP 文件中需要的代码:

<form method="POST">
    <textarea name="comment">
        <?php (isset($_POST['checkbox1']) && $_POST['checkbox1'] == '1') ? echo "Example"; : echo ""; ?>
    </textarea>
    <br>
        <label for="checkbox1">Show this comment in receipt</label>
        <input type="checkbox" id="checkbox1" name="checkbox1" value="1" />
    <br>
        <input type="submit" value="Print" />
</form>

用你想要的代替“示例”。

于 2013-10-01T13:48:19.427 回答
0

如果您仅使用 javascript,则可以尝试以下操作:

<script>
    function show(){
    if(form.toggledisplay.checked == false){
        document.getElementById('example').style.display = "none";
    }
    else{
       document.getElementById('div').style.display = "block";
    }
 }
</script>

<form method = "POST" action="receipt.php" onsubmit="show()">
<textarea name = "comment"></textarea><br>
<input type="checkbox" name="toggledisplay" id="checkbox" value = "1"  >Show this comment in receipt<br>
<input type = "submit" value = "Print">
</form>
<div id="example" style="display:none;">This is the div you want to show</div>

如果您正在divreceipt.phponsubmit()文件中填充内容,则可以在触发函数时向其发出发布请求并填充div 的内容,例如:

document.getElementById('div').innerHTML = "Result from the get/post request"

希望这能为您指明正确的方向。

于 2013-10-01T13:50:55.420 回答
0

在 HTML 中:-

<form method ="POST" action ="receipt.php">
    <textarea name ="comment"></textarea><br>
    <input type="checkbox" name="reciept-chk" id="checkbox" value = "1"  >Show this comment in receipt<br>
    <input type ="submit" value ="Print">
</form>

在receipt.php中:

<?php
..//recept.php

 if(isset($_POST['reciept-chk'])){

// Write Code example here

 }

?>

如果您想在将您的值发布到receipt.php 之前验证它的客户端,那么您可以简单地通过一段jquery 进行验证。

$(document).ready(function(){
    $('#checkbox').change(function(){
    if ($('#checkbox').is(':checked')) {
        $("#exampleDiv").show();
    } else {
        $("#exampleDiv").hide();
    }
   });
});

请避免在 1.8中弃用的toggle()

于 2013-10-01T13:41:29.503 回答