选中复选框并取消选中后,在提交操作后显示和隐藏div

时间:2013-10-01 13:33:14

标签: javascript php jquery mysql

我在提交动作后试图显示或隐藏div。所以,让我说textarea,我把“示例”放在那里,然后选中复选框。提交后,“receipt.php”页面必须显示“example”,如果我取消选中该复选框并提交,则receipt.php页面必须隐藏“示例”。我尝试搜索类似于我的问题,但我真的不知道如何解决它。到目前为止我有这个代码,但我没有“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 个答案:

答案 0 :(得分:2)

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

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

如果您想依赖服务器所说的内容,您需要将某些内容返回给您的ajax调用。 例如{response:true / false}

答案 1 :(得分: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();
    }
   });
});

请避免使用toggle() deprecated in 1.8

答案 2 :(得分: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>

替换您想要的内容而不是“示例”。

答案 3 :(得分: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>

如果您从 receipt.php 文件填充div的内容,则可以在onsubmit()函数被触发时向其发送帖子请求,填写div的内容,如:

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

希望这能指出你正确的方向。