gpt4 book ai didi

javascript - 交换文本输入值时出现奇怪的错误

转载 作者:行者123 更新时间:2023-11-28 08:02:49 25 4
gpt4 key购买 nike

我正在尝试创建一个 JS 函数,允许管理员根据一些(当前不相关的)变量修改网站用户的排名。

为此,我创建了一个显示所有用户的函数,并且当您单击其中一个名称时,会显示两个按钮。这些按钮可用于将用户向上或向下移动一级。当然,移动用户必须与已有排名的移动位置交换:为此,我(尝试)使用经典的 c = a, a = b, b = c 方法。

只要你先把用户提升上去,效果就很好;如果您想从将用户下移开始,它不会执行任何操作。

这是 fiddle :http://jsfiddle.net/benedekadam/caqcw35h/

请记住,我必须修改它:我正在使用一个新创建的较小数组来存储用户名,并且我已经取出了负责禁用按钮(如果是)的代码段。名字或姓氏 - 因此您只能将姓氏向上移动,或将名字向下移动。除了这两项更改之外,它与我当前在我的网站中使用的相同。

我很确定是一些非常简单的错误导致了该错误,但我花了过去两个小时的大部分时间试图找到它 - 但没有成功。

你能帮我吗?

最佳答案

您错过的是您没有解析“tempszam2”变量,它是一个整数字符串值。当您执行 (tempszam2 + 1) 时,如果 tempszam2="1",tempszam2 + 1 将为您提供“11”而不是 2。因此,您需要先将 'tempszam2' 变量解析为整数,然后再向其添加 1 .

function LeMozgat(szam3) {
var tempszam2 = szam3;
document.getElementById("tempName " + tempszam2).style.border = "none";
document.getElementById("tempName " + (parseInt(tempszam2) + 1)).style.border = "1px solid";
var cserename2 = document.getElementById("tempName " + tempszam2).value;
document.getElementById("tempName " + tempszam2).value = document.getElementById("tempName " + (parseInt(tempszam2) + 1)).value;

document.getElementById("tempName " + (parseInt(tempszam2) + 1)).value = cserename2;

szam = parseInt(tempszam2) + 1;

}

关于javascript - 交换文本输入值时出现奇怪的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25183837/

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