<form onsubmit =“function();”>无效

时间:2018-06-07 10:04:05

标签: javascript jquery html

&#13;
&#13;
$(function() {
  function make_alert() {
    var text = $('#text_').val(); //let suppose it as true
    if (true) {
      alert("yes_text");
      return false;
    } else {
      alert("no_text");
      return false;
    }
  }
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form method="post" action="#" onsubmit="return make_alert()">
	<textarea id="text_">
	</textarea>
	<button id="btn_submit" type="submit" name="type" value="create_first">
	Submit
	</button>
</form>
&#13;
&#13;
&#13;

单击“提交”按钮时,此代码会发出警报。

我在html onsubmit标记中写了form,但它似乎无效。

我该怎么做?

我想要的是我可以在form post之前处理一些事情。所以我认为我需要这些功能。

2 个答案:

答案 0 :(得分:5)

make_alert函数不是“全局”,因此无法找到它。

这是一个解决方案

  var make_alert = (function() {
    var text = $('#text_').val(); //let suppose it as true
    if (true) {
      alert("yes_text");
      return false;
    } else {
      alert("no_text");
      return false;
    }
  });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<form method="post" action="#" onsubmit="return make_alert()">
  <textarea id="text_">
  </textarea>
  <button id="btn_submit" type="submit" name="type" value="create_first">
                        Submit
                    </button>

</form>

答案 1 :(得分:3)

你可以这样做。从$(function(){

中删除函数

https://codepen.io/creativedev/pen/eKdrdK

function make_alert() {
    var text = $('#text_').val(); //let suppose it as true
    if (true) {
      alert("yes_text");
      return false;
    } else {
      alert("no_text");
      return false;
    }
  }