jquery - 未捕获的类型错误 : Object #<Object> has no method 'replace' line 75

标签 jquery ajax

我正在构建一个锦标赛括号系统,允许您将“获胜者”拖到下一轮,如果适用,失败者会自动转移到他在失败者括号中的位置。每次转换后,我都会向 php 发送有关比赛的详细信息,用于个人跟踪目的,以及在比赛关闭和重新开放时重新填充位置。

我遇到了一个问题,我发送了一些不需要的字符,我使用 .replace() 来摆脱它们,现在赢家方面的所有内容都工作正常,但输家方面的任何内容都不起作用。希望有人能帮我找出原因。

15:   $(window).load(function(){
16:     $(".make-draggable, .draggable, .drag").draggable({
17:         helper: "clone",
18:         snap: ".draggable",
19:         snapMode: "inner"
20:     });
21:     $(".draggable").droppable({
22:         drop: function(event, ui) {
23:             var elemText = ui.draggable.text();
24:             $(this).html(elemText);
25:             var outB = ui.draggable.attr('id').split("-");
26:             var pl1;
27:             var pl2;
28:             if (outB[0] == "go") {
29:                 var num = outB.length;
30:                 var loser;
31:                 var loserval;
32:                 var losloc;
33:                 var losid = outB[1];
34:                 var numchars = outB[1].length;
35:                 if (num === 2) {
36:                     var i = 1;
37:                     loser = (losid.charAt(0) + "-");
38:                     pl1 = elemText;
39:                    for (i = 1; i < numchars; i++) {
40:                         loser = (loser+losid.charAt(i));
41:                     }
42:                     loserval = $("#go-" + loser);
43:                     losloc = ("#"+losid);
44:                     $(losloc).html(loserval.text());
45:                     pl2 = loserval.text();
46:                 } else if (num === 3) {
47:                     loser = (outB[1] + outB[2]);
48:                     loserval = $("#go-" + loser);
49:                     losloc = ("#"+loser);
50:                     $(losloc).html(loserval.text());
51:                     pl1 = loserval.text();
52:                     pl2 = elemText;
53:                 }
54:             } else {
55:               var getround = $(this).attr('id');
56:       if(getround == 'winner') {
57:           pl1 = $('#winnerb').text();
58:            pl2 = $('#loserb').text();
59:          } else {
60:            var inti = ui.draggable.attr('id').substring(1);
61:            if (inti%2 == 0) {
62:               var apl =  inti - 1;
63:               pl1 = elemText;
64:              pl2 = $('#l'+apl).text();
65:               alert(apl);
66:            } else {
67:               var apl =  inti++;
68:               alert(apl);
69:              pl1 = $('#l'+apl).text();
70:              pl2 = elemText;
71:            }
72:          }
73:             }
74:             var matrou = ui.draggable.parent().attr("id").split("-");
75:             $.urlParam = function(name){
76:                 var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);
77:             return results[1] || 0;
78:             }
79:             pl1 = pl1.replace(/(\r\n|\n|\r)/gm,"");
80:             pl2 = pl2.replace(/(\r\n|\n|\r)/gm,"");
81:             elemText = elemText.replace(/(\r\n|\n|\r)/gm,"");
82:             var params = 'win='+elemText+'&p1='+pl1+'&p2='+pl2+'&match='+matrou[3]+'&round='+matrou[1]+'&wloc='+$(this).parent().attr('id')+'-'+$(this).attr('id')+'&lloc='+$(losloc).parent().attr('id')+'-'+$(loserval).attr('id')+'&tid='+$.urlParam('tid');
83:             xmlhttp=new XMLHttpRequest();
84:             xmlhttp.onreadystatechange=function() {
85:                 if (xmlhttp.readyState==4 && xmlhttp.status==200) {
86:                 }
87:             }
88:             xmlhttp.open("POST","sub_match.php",true);
89:             xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
90:             xmlhttp.setRequestHeader("Content-length", params.length);
91:             xmlhttp.setRequestHeader("Connection", "close");
92:             xmlhttp.send(params);            
93:         }
94:     });
95:   });

最佳答案

我在手机上,所以调试代码有点困难,但我注意到在第 62 和 66 行中,您只是获取一个元素并将其分配给 p1,而不是获取该元素的文本。尝试在该行末尾添加 .text() 。

关于jquery - 未捕获的类型错误 : Object #<Object> has no method 'replace' line 75,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10871835/

相关文章:

javascript - 如何配置 Bootstrap 镜像?

jquery - 我的 jquery 代码中是否缺少某些内容

mySql 中的 php 数组不会在 DOM 中显示为 json 对象

java - 最大的 GWT 陷阱?

javascript - 如何使用css动画让元素一个一个出现

javascript - 将值传递给模态窗口中的 JavaScript 函数

jquery - IE7 jquery .each 数组

javascript - Google 折线图 - 自动刷新数据库

javascript - 将数组中的值插入 xml 中的特定节点

jquery - 使用 AJAX 加载 Google 图表