当用户选中复选框

时间:2015-07-08 12:32:00

标签: javascript php html checkbox

目前我正在尝试为用户添加一些功能,以便能够提交匿名建议。我试图在用户选中复选框时清除包含用户名的文本框。但是,我的代码在选中时不会清除该复选框。有没有办法在提交表单之前清除复选框?

由于

<div>
    <label style="display: inline-block; margin-left: 10px; letter-spacing: 2px; color: #007A8E;"> 
        <div align="left"><b>Name:</b> </div>
    </label>
<div align="left">
    <input type="checkbox" style=" margin-left: 110px; outline: 1px solid #0078AE; " name="Anonymous" value="Anonymous" onClick="CheckAnon">
</div>
    <label style="margin-left: 2px; color: #0078AE;">
    <div align="left">Anonymous</div>
    </label>
<div align="left">
<? 
function CheckAnon()
{
    if(isset($_POST['Anonymous']) == 'Anonymous')
    {
        $anonFirstName="Anon";
        $anonLastName="Anon";
    }
    else if (isset($_POST['Anonymous']) != 'Anonymous')                                 
    {
        $anonFirstName = $firstName;
        $anonLastName= $lastName;
    } 
}
?>
</div>
</div> 

<div align="left">
    <input name="firstname" style="height: 34px; width: 268px; margin-left: 10px; margin-top: 5px; color: #007A8E;
    border: 1px solid #dedede; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px;" type="text"
    value="<? echo $anonFirstName?> <? echo $anonLastName?>">
</div>

3 个答案:

答案 0 :(得分:1)

您可以使用jquery或javaScript在客户端执行此操作。

假设此文本框:

  <input type="text" id="fname" />

JavaScript方法:

<script type="text/javascript">

    function clearTextBox() {

      // Code to clear textbox on Checkbox tick

      var textname = document.getElementById("fname"); //get textbox id
      textname.value = ""; // clear the textbox
    }
 </script>

答案 1 :(得分:0)

您可以根据需要在PHP中执行此操作。

但是,在jQuery中执行它非常简单。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$(function(){
  $("#Anonymous").change(function(){
    if ($(this).is(':checked')) {
      $("#firstname").val('');
    }
  });
});
</script>

答案 2 :(得分:0)

您将客户端脚本(在您的情况下为JavaScript)与服务器接收的内容(PHP)混淆。 你打电话的功能:

onClick="CheckAnon"

客户端上不存在。还可以使用:onClick =“CheckAnon();”

您的代码中存在更多问题。我建议你使用Firefox并查看javascript的错误日志。这将帮助您追踪错误。

还要确保您了解客户端(浏览器)和服务器(发布表单后)中发生的情况 我认为你需要在开始使用JavaScript清除文本框之前先清除它)