javascript - 页面加载时触发一次点击
问题描述
我的页面中有一个表格,如下所示:
<form id="shipping" action="some-action-url" method="post">
<ul>
<li>
<input id="ship238280" name="method" value="238280|479435" type="radio" checked="checked">
<label for="ship238280">Transport (€0,00)</label>
</li>
<li>
<input id="ship292259" name="method" value="292259|580109" type="radio">
<label for="ship292259">Pick up (€0,00)</label>
</li>
</ul>
</form>
我使用的是 SaaS 平台,因此我对脚本的访问权限有限,需要利用实际可用的内容。所以我正在寻找更多的解决方法......
在上面的表格中,我检查了第一个选项。要实际设置第一个运输选项,我必须提交表格。然后在系统中设置此选项。
所以我有一个提交表单的函数:
function sendform(){
var loader = $('.cart-loader');
var form = $('#shipping');
$(loader).show()
$.ajax({
type: "POST",
url: $(form).attr('action'),
data: $(form).serialize(),
success: function(data) {
$(loader).hide()
//$(this).unbind()
}
});
}
当我单击其中一个选项时的单击事件:
$('#shipping input').on('click', function(){
sendform()
});
我现在想要的是在页面加载时提交表单。所以我创造了这样的东西:
$(function(){
$('#shipping input').each(function(){
if($(this).is(':checked')){
$(this).trigger('click') // or sendform()
}
});
});
现在发生的情况是表单不断提交,因为每次页面重新加载(提交后)它都想再次提交!
知道它需要先提交才能设置选项,我该如何解决这个问题?
我在ajax成功功能中尝试了类似$(document).one('ready', function(){
或类似的东西。$(this).unbind()
我有点失落:)所以非常感谢任何帮助!
解决方案
尝试这样的事情:https ://jsfiddle.net/noidee/uvm6jw3b/
$(document).ready(function(){
if( localStorage.getItem('submited') !== '1' ){
$('#myform').submit();
localStorage.setItem('submited', '1');
}
});
推荐阅读
- python - 数据 Matplotlib 的回归样显示
- c# - WPF 中的标注样式弹出窗口
- javascript - 未捕获的引用错误 $ 未在数据表中定义
- python - pydev 调试器中的错误路径:
- swift - 索引超出范围:UITableViewCell 内的 UICollectionView
- r - 使用日期的每行滚动最小值
- javascript - 页面加载后从 myshiptracking 加载地图
- excel-2016 - Excel 功能区中的表单控件灰显
- swift - 快速不同的textview url
- reactjs - 如何在反应js中的onclick事件上隐藏和显示路由器组件