取消选中复选框时显示提交按钮,并在取消选中后阻止提交

时间:2016-12-13 17:18:53

标签: javascript jquery html

我希望有一个文本区域,当点击输入按钮时会提交。我在文本区域外面有一个复选框,默认情况下会选中该复选框。我希望在未选中复选框时通过输入阻止表单提交。我希望在未选中复选框时有一个提交过程的按钮。



function readysubmit(){
  document.getElementById("submit").onclick=function(){
    location.href="www.google.com";
  }
}

$(document).onload(function(){
  readysubmit();
})

// show and hide sections of a form
function preparePage() {
  document.getElementById("chkbox").onclick = function() {
    if (document.getElementById("chkbox").checked) {
      document.getElementById("submit").style.display = "none";
    } else {
      document.getElementById("submit").style.display = "inline-block";
    }
  };
  document.getElementById("chkbox").checked ="true";
  document.getElementById("submit").style.display = "none";
}

window.onload =  function() {
  preparePage();
};

<!DOCTYPE html>
<html>
  <head>
    <title>Textarea Submit</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
  </head>
  <body style="text-align: justify;">
    <section>
      <div id="divelement" style="border: solid black 0.1px; display: inline-block;">
        <form id="formelement">
          <textarea id="txtareaelemnt">
          </textarea>
          <br/>
          <input id="chkbox" type="checkbox" name="Pressentertosend">Press enter to send </input>
        <button id="submit" name="Submit">Submit</button>
        </form>
      </div>
    </section>
  </script>
</body>
</html>
&#13;
&#13;
&#13;

我正在使用上面提到的代码。当输入按钮被击中时,我希望它重定向到像stackoverflow.com这样的网页。同样取消选中该复选框时,会出现一个按钮。在后一种情况下,我希望仅在按下提交按钮时才提交textarea。现在不应该通过点击Enter按钮重新提交。它应该像我们在文本编辑器中找到的返回一样工作。

1 个答案:

答案 0 :(得分:0)

如果没有任何代码或明确的解释,有点难以理解你想要什么。我假设您想要一个未选中的复选框,并且不允许用户按“输入”键。在textarea并提交表格。

您需要做的是创建一个检查复选框状态的函数。

var ckbox = $('.checkbox_check');

$('input').on('click',function () {
    if (ckbox.is(':checked')) {
        alert('You have Checked it');
    } else {
    alert('You have unchecked it');
    }
});

这将检查复选框的状态,并允许您在其中添加功能。我接下来做的是一个按键功能,它检查按下的返回按钮(这是代码13,你可以通过一些谷歌搜索在线找到它)

 $('#box_1').on('keyup keypress', function(e) {
        var keyCode = e.keyCode || e.which;
        if (keyCode === 13) { 
          e.preventDefault();
          alert("pressed enter!")
          return false;
        }
      });

将此添加到函数中

var ckbox = $('.checkbox_check');

$('input').on('click',function () {
    if (ckbox.is(':checked')) {
        alert('You have Checked it');
    } else {
     $('#box_1').on('keyup keypress', function(e) {
        var keyCode = e.keyCode || e.which;
        if (keyCode === 13) { 
          e.preventDefault();
          alert("pressed enter!")
          return false;
        }
      });
    }
});

工作小提琴:https://jsfiddle.net/foy8t9ez/