表格提交不发射

时间:2018-06-13 17:41:39

标签: javascript jquery



src = "http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"

$(document).ready(function() {
  $("#testForm").submit(sendPost)
});

function sendPost() {
  alert('Submitted');
}

<form id="testForm">
  <input type="text" ID="txtDescription"><br>
  <input type="submit" value="Save" />
</form>
&#13;
&#13;
&#13;

单击“提交”按钮不会触发警报。我错过了什么?

2 个答案:

答案 0 :(得分:1)

原始代码引用了jquery lib 里面的 javascript,没有脚本标记。那加载外部资源。由于jquery未加载,因此click事件不会被注册。

此问题的一个解决方案是使用<script>标记引用HTML中的外部js文件:

HTML解决方案

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="testForm">
  <input type="text" ID="txtDescription"><br>
  <input type="submit" value="Save" /> 
</form>

并从.js中删除引用

$(document).ready(function() {
  $("#testForm").submit(sendPost) 
});

function sendPost() {
  alert('Submitted');
}

Jquery解决方案

如果您不想在HTML中添加<script src=...,则jquery加载某些其他 js文件的解决方案是将以下内容放在.js中。这要求已经加载了jquery。

$(document).ready(function(){
    $('body').append($('<script src="/path/to/script/foo.min.js"></script>'));
});

https://stackoverflow.com/a/42378530/209942

答案 1 :(得分:0)

您的代码按原样运行。您必须单击按钮才能提交。但是看着我相信,你想在文件准备好上提交表格。

您可以通过以下方式完成。

$(document).ready(function() {
  $("#testForm").submit(sendPost);
  $('#submit').click();
});
    
function sendPost() {
  alert('Submitted');
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="testForm">
  <input type="text" ID="txtDescription"><br>
  <input id="submit" type="submit" value="Save" /> 
</form>

相关问题