【问题标题】:Enable textbox when checkbox ticked - php勾选复选框时启用文本框 - php
【发布时间】:2017-01-19 22:51:30
【问题描述】:

当复选框被选中并且我的编码符合我的要求时,我正在尝试启用文本框。单击提交按钮时,它将检查整个表单并为每个未填写的空字段提供错误信息,并将其余信息保留到每个已填写的字段。问题是,当复选框被选中,文本框被启用并被填充时,在按下提交按钮后(当所有必填字段都没有完成时),文本框将被禁用并保留值。

以下是我目前使用的编码:

<input type="checkbox" name="chklist" onchange="document.getElementById('txtOthers').disabled = !this.checked;" <?php if(isset($_POST['btnSubmit']) && isset($_POST['chklist'])) echo "checked" ?> /> OTHERS : 
    <input style="width: 130px;" type="textbox" id="txtOthers" name="txtOthers" disabled value="<?php echo $others;?>" />

【问题讨论】:

  • 到目前为止,您编写了哪些 JavaScript 来完成这些事情?
  • 请出示你用过的javascript/jquery代码,目前的信息很难猜到
  • @wogsland 我只将onchange="document.getElementById('txtOthers').disabled = !this.checked;" 放在checkbox 中以启用和禁用textbox

标签: javascript php html checkbox


【解决方案1】:

你可以使用 jQuery 来做到这一点:

<input type="checkbox" name="chklist" id="checkbox" <?php if(isset($_POST['btnSubmit']) && isset($_POST['chklist'])) echo "checked" ?> /> OTHERS : 
<input style="width: 130px;" type="textbox" id="txtOthers" name="txtOthers" disabled value="<?php echo $others;?>" />

$(document).ready(function(){
    $("#checkbox").change(function(){
        if ($('input.checkbox_check').is(':checked')) {
           $(#txtOthers).show();
        }else{
           $(#txtOthers).hide();
        }
    });
    $("form").submit(function() {
        $("#txtOthers").prop('disabled', true);
     });
});

【讨论】:

  • 您好,谢谢您的回答。我试过了,结果还是一样。单击提交按钮时,整个页面实际上是在刷新,因此它将再次禁用textbox。有什么办法我可以做类似if (isset($_POST['chklist'])){ //Do something to enabled textbox }
  • 你可以通过 jQuery.ajax 添加一个东西提交表单。它将避免刷新页面。 $("#submit").click(function(){ $.ajax({ type: "POST", url: "ajaxsubmit.php", data: dataString, cache: false, success: function(result){ //提交表单后做你的事情} } });
  • 删除这段代码:$("form").submit(function() { $("#txtOthers").prop('disabled', true); });
猜你喜欢
  • 2019-08-23
  • 2013-09-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-15
  • 2017-07-27
  • 1970-01-01
  • 2013-11-12
  • 1970-01-01
相关资源
最近更新 更多