开发者社区> 问答> 正文

jQuery.form 在beforeSubmit中动态赋值无效403.10 禁止访问:配置无效 

如下code:

$('#form1').ajaxForm({
	dataType: "json",
    beforeSubmit: function(a,f,o) {
    	//给表单中某个隐藏值赋值
	document.getElementById("oscId").value= '123';
    },
    success: function(json) {
    	//...
    },
    error: function() {
    	//...
    }
});
通过firebug定位 oscId 每次都是空值,除非手动填写能传递,如上在beforeSubmit 中动态赋值无效。

各位有何对策?谢谢!

展开
收起
kun坤 2020-05-27 21:28:16 526 0
1 条回答
写回答
取消 提交回答
  • 还是自己回答吧。 这个应该涉及 ajaxForm 和 ajaxSubmit两个方法的区别:
    ajaxForm不能提交表单。在document的ready函数中,使用ajaxForm来为AJAX提交表单进行准备。提交动作必须由submit开始。
    ajaxSubmit:马上由AJAX来提交表单。你可以在任何情况下进行该项提交。 由于可以在任何情况下调用,那在ajaxSubmit之前可以进行相关方法赋值等操作。
    采用如下解决方案:

    $('#form1').submit(function(){ //checkSync()为自定义的赋值方法 if(checkSync()) { //要注意ajaxForm 和 ajaxSubmit的用法区别,表单提交前如果涉及到动态赋值,建议用ajaxSumbit $(this).ajaxSubmit({ dataType: "json", beforeSubmit: function(a,f,o) { //... }, success: function(json) { //...
    }, error: function() { //... } }); } return false; });



    ######你好,您这个还是有问题啊!不管if(checkSync()) {是否返回真,ajaxsubmit都被执行了!######呃,好久之前的问题了。当时是这么操作可行的

    2020-05-28 13:38:12
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关课程

更多

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载