相同的 Ajax 调用了两次..JQuery

2023-11-27

我在 JQuery 中有一个问题..我正在使用$.ajax()在我的代码中(Function 1)将字段名和序列号发送到 ctrller,后者通过以下方式获取数据$_POST['name'] and $_POST['sequenceno']并使用未给定的序列更新表中的字段名称。并生成带有插入字段的预览显示面板。 现在我正在尝试再次更改字段名称,现在当我单击生成的显示面板字段时,相应的设置将打开,我现在将尝试更改字段的名称(Function 2)

Both Function1 and Function2是相同的..在Function1我正在发送字段名称和序列号

在函数 2 中,我想发送相同的字段名和(但另一个值)序列。

但在Function1中(sequenceno是计数器值) 而在Function2中(sequenceno是单击的div id(显示面板))

我怎样才能对两者使用相同的功能..或者我是否需要使用单独的功能..

即使我尝试使用 2 个具有不同 url 的独立函数,但未正确更新

我的代码是

    //This is what i insert the field initially

              $(".TextFieldSettings #fieldTitle").change(function (){
             fieldname=$(".TextFieldSettings #fieldTitle").val();
    $.ajax({
           type: "POST",
           url: "./server",
        data: "name="+fieldname+"&sequenceno="+counter,

                success: function(msg){
                      }//success
           });//ajax

     });//change

//After inserting to get the updated values in JSON format

     var htm = $.ajax({
       type: "GET",
          url: "./viewforms",
         async: false
       }).responseText;
        var myObject = eval('(' + htm + ')');


    gettype=myObject.attributes[0]["type"];
   getlabel=myObject.attributes[0]["labels"];

    //showing in my DisplayPanel view

            $("#labelstr"+counter+"").html(getlabel);
     });//change

现在 当我单击 DisplayPanel 视图时

      $("#displayPanel div").live("click", function(){
                             div_id=$(this).attr("id");

                                var htm = $.ajax({
                                  type: "GET",
                                  url: "./getattributes/"+div_id+"",
                                  async: false
                                 }).responseText;
                                var myObject = eval('(' + htm + ')');


                                gettype=myObject.attributes[0]["type"];
                                getlabel=myObject.attributes[0]["labels"];
                                getsize=myObject.attributes[0]["size"];

    if(gettype=='Text')
     {
    $(".TextFieldSettings").show(function(){
    $(".TextFieldSettings #fieldTitle").val(getlabel);//showing the updated value
                             if(getsize=='100')
                           {
             $("#fieldSize option:contains(Small)").attr("selected",true);
                           }
                             else if(getsize=='200')
                            {
        $("#fieldSize option:contains(Medium)").attr("selected",true);
                         }
              else 
            {
          $("#fieldSize option:contains(Large)").attr("selected",true);
            }
//Again i m changing the fieldname


       $(".TextFieldSettings #fieldTitle").change(function (){
      fieldname=$(".TextFieldSettings #fieldTitle").val();


                                alert(div_id);
                                        $.ajax({
                                           type: "POST",
                                           url: "./editsettings",



                                                                         data: "name="+fieldname+"&sequenceno="+div_id,
                                           success: function(msg){

                                            }//success
                                           });//ajax


});//change in text value later*/



                    });//show
                    }//if type = TEXT

                });//displaypanel Div clicked

但现在如果我尝试再次更改字段名,我将编写另一个 POST 函数editsettings但执行是在里面Func1(最初改变)而不是Func2(再次更改字段名称)... 请任何人知道这个问题的答案...... 笔记:$(".TextFieldSettings #fieldTitle").change()在我的 prg 中使用了两次..可能是因为这个更新出错了


问题似乎在于您的两个事件处理程序都在触发,而您只想触发后一个事件处理程序。

jQuery .change() 函数adds更改事件的事件处理程序。它不会取代现有的。如果你想删除以前的处理程序,你需要类似:

$(".TextFieldSettings #fieldTitle").unbind('change') 

在附加新处理程序之前。

请注意,我不确定这是否有效(我刚刚从 api 文档中找到它),而且我现在无法测试它。然而,一般的想法是,如果您希望事件处理程序停止响应事件,则必须删除该处理程序。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

相同的 Ajax 调用了两次..JQuery 的相关文章

随机推荐

  • 所选类实例的 Swift 扩展

    在 Objective C 类别中 您可以通过在类中包含类别的标头来引入类别方法引入的扩展功能 似乎所有 Swift 扩展都是自动引入的 无需导入 如何在 Swift 中实现同样的目标 例如 extension UIView only wa
  • 跟踪 sitecore 中的 NullReferenceExceptions

    我正在尝试跟踪在加载任何网页时显示在 sitecore 6 5 上的 NullReferenceException NullReferenceException Object reference not set to an instance
  • Spark:重新分区与分区中列参数的顺序

    考虑的方法 Spark 2 2 1 DataFrame repartition 这两个实现需要partitionExprs Column 参数 DataFrameWriter partitionBy 注意 这个问题并没有问这些方法之间的区别
  • Firebase 可调用函数的中间件

    With Firebase HTTP 函数 我们可以安装express并使用中间件 中间件对于在函数执行之前检查先决条件非常有用 除其他外 例如 我们可以在中间件中检查身份验证 授权等 这样就不需要在每个端点定义中重复它们 开发人员如何实现
  • 在 ASP.NET Core 5.0 Web API 中实现 DelegatingHandler?

    public class AuthenticationHandler DelegatingHandler protected override async Task
  • 如何在 Javascript 中将 UTC/GMT 日期时间转换为 CST? (不是本地的,始终是 CST)

    我遇到一个挑战 后端数据始终以 UTC 时间存储 我们的前端数据始终以 CST 形式呈现 我无权访问这个 黑匣子 我想在我们的数据仓库中反映这一点 总部位于欧洲 CET 所以 本地 转换将不起作用 我想知道将 UTC 时间 我可以以纪元毫秒
  • 尝试保存数据时无法找到实体..

    当我尝试保存带有消息的主题时 出现此异常 嵌套异常是 javax persistence EntityNotFoundException 无法找到 ID 为 fb8d39ea 0094 410d 975a ea4495781422 的 my
  • 如何确定 NSString 是否基于拉丁语?

    我正在尝试确定字符串是基于拉丁语还是日语 我尝试过类似以下的操作 但对于日语字符串它也返回 YES NSCharacterSet alphaSet NSCharacterSet alphanumericCharacterSet BOOL i
  • 让 Maven 和 SBT 使用本地 Artifactory 服务器

    我需要让 Maven 和 SBT 使用本地 Artifactory 服务器 这是唯一具有 Internet 连接的机器 服务器 CI 机器等无法访问外部世界 尤其是SBT让我头发变白了 SBT 连接到 Artifactory 时出现问题 使
  • 如何使用 jQuery 比较两个日期选择器日期

    这是我的代码 var from fromDate datepicker getDate var to toDate datepicker getDate if from gt to alert from date shouldn t gre
  • 设置绘图的自动缩放限制,以便在所有点周围都有缓冲区

    我想在 matplotlib 中使用 pyplot 绘制一组点 但没有一个点位于轴的边缘 自动缩放 或其他东西 设置xlim and ylim这样第一个点和最后一个点通常位于x xmin or xmax在某些情况下导致阅读困难 这更经常出现
  • 如何解读分析结果?

    我使用 NetBeans 和 VisualVM 运行内存分析器并收到结果 但不知道如何分析其结果 我研究了这个article但它没有教导或提供如何解释结果的线索 我也发现了这个article关于解释 Netbeans 4 上的结果 但我正在
  • 自调用函数内的递归函数上的 setTimeout()

    我想将我的代码作为自调用匿名函数分发 正如我看到的许多人所做的那样 另外 在我的代码中 我必须监视另一个库的加载 这样我就可以在它可用时使用它 function window document undefined staffHappens
  • Google Drive Sdk - iOS 应用程序中的音频和视频流

    嗨 Google 云端硬盘工作人员 我已经尝试过从 Google 云端硬盘流式传输视频文件 无需下载 但我收到登录提醒 我已经彻底检查了 Dr Edit 示例应用程序 但没有找到任何解决方案 我尝试过downloadUrl embedLin
  • Android应用程序盗版预防[关闭]

    Closed 这个问题是无关 目前不接受答案 看看 stackoverflow 上的一些帖子 截至撰写本文时 似乎确实没有办法有效防止应用程序盗版 这里真的有人因应用程序盗版而蒙受损失吗 您当前针对应用程序破解者的解决方案 免费或非免费 是
  • NSString nslog 显示“\n”换行符

    我想记录一个 NSString 但当我记录它时 它不显示新行字符 n 我怎样才能做到这一点 谢谢 您可以先处理该字符串并替换所有出现的 n with n NSString newString originalString stringByR
  • 图像中的 r 轴标签

    我需要按呼叫中心的空间位置绘制指标图表 我用 R 写了一个小例子 tt lt data frame a1 c 0 4 5 5 7 a2 c 5 6 7 8 a3 c 8 7 9 8 row names tt lt paste L 1 4 s
  • 如何使用 SharedPreferences [重复]

    这个问题在这里已经有答案了 我是 Android 开发新手 使用一本名为 Sams Teach Yourself Android Application Development in 24 hours 的书 到目前为止 但在尝试使用 Sha
  • 在 Visual Studio 2010 中,如何搜索不在单行注释内的文本?

    在 Visual Studio 2010 中 如何搜索不在单行注释内的文本 例如 如何在以下位置找到 bas foo bar bas 但不在 foo bar bas 请注意 它应该找到以下行 foo bar bas 编辑 它不应该找到该行
  • 相同的 Ajax 调用了两次..JQuery

    我在 JQuery 中有一个问题 我正在使用 ajax 在我的代码中 Function 1 将字段名和序列号发送到 ctrller 后者通过以下方式获取数据 POST name and POST sequenceno 并使用未给定的序列更新