gpt4 book ai didi

javascript - jquery提交和button提交的区别

转载 作者:行者123 更新时间:2023-12-02 14:24:04 25 4
gpt4 key购买 nike

我一直在尝试让我的 html 表单在加载页面时自动启动,而不是在单击按钮时自动启动,但是无法获取 $.ajax,$. get$.post 方法执行与提交按钮相同的提交。

我的第一个方法是使用常规按钮:

  <input style="width:80%;margin-left:10%;display:none;" class="span2" name="latest" id="latest" type="text" value="">
<input style="" type="submit" value="Go" name="/latest">

这完全符合我的预期,但是我希望表单在页面加载时自动提交:

    <div id="cont2">
<script type="text/javascript">
var a=$('#target').serialize();
$.ajax({
type:'post',
url:'/latest',
data:a,
beforeSend:function(){
alert("click");
},
complete:function(){
alert("complete");
},
success:function(result){
alert(result);
$( '#cont2' ).html();

}
});
</script>
</div>

这没有按预期执行,它没有从/latest 路由返回值,而是只返回相同的页面。

这个方法也不起作用:

      <script type="text/javascript">
$.get( "/latest", function( data ) {
$( "#cont2" ).html( data );
alert( "Load was performed." );
});
</script>

由于该路由是 POST 路由,因此它期望帖子提交,但这也不起作用:

     <script type="text/javascript">
$('form[name=target]').submit(function(){
$.post($(this).attr('action'), $(this).serialize(), function(json) {
alert(json);
}, 'json');
return false;
});
</script>

单击实际有效的按钮后到达的路线是:

$f3->route('POST /', function($f3, $params) {
if(isset($_POST['/latest']))
{
echo "accept";
}
}

简而言之,当单击按钮时,一切都会按预期执行。但是当使用jquery提交表单时(这样我可以自动完成)我无法让表单返回相同的响应。任何解决此问题的帮助将不胜感激。

最佳答案

$.ajax 和您正在使用的其他方法,以与正常表单提交不同的方式(以异步方式)提交表单(这会导致页面重新加载)。如果您希望它的行为就像我们单击表单的submit按钮时一样,您可以在该表单上触发submit

<form id="myform" method="post" action="/your_form_handler">
<input style="width:80%;margin-left:10%;display:none;" class="span2" name="latest" id="latest" type="text" value="">
<input style="" type="submit" value="Go" name="/latest">
</form>


$(document).ready(function(){
$("#myform").submit();
});//document ready

关于javascript - jquery提交和button提交的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38429593/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com