0

我使用按钮设计了棋盘。最初按钮上的所有值都将为空,加载页面后,所有棋子都出现在它们上,代码如下

<input type="button" id="A8" value="" style="background:#FFE4C4;font-size: 70px;height:90;width:100" onclick="check(this.id)">

在 onLoad 函数中,棋子的 ASCII 字符分配如下:

document.getElementById('A1').value=String.fromCharCode(9814);

现在我想要的是通过单击两个按钮将一个按钮从一个按钮更改为另一个。我用以下脚本尝试了很多

function check(clicked_id) {
    var Button_2 = "";
    if (i < 2) {
        i++;
        // alert("i:"+i);        
        if (i == 1) {
            Button_1 = clicked_id;
            B1_val = document.getElementById(Button_1).value;
            alert("B1 Button val:" + B1_val);
        }
        if (i == 2) {
            var Button_2 = clicked_id;
            B2_val = document.getElementById(Button_2).value;
            alert("b1 val:" + B1_val);
            alert("B2 val:" + B2_val);
            B2_val = B1_val;
            B1_val = "";
            alert("B1 val:" + B1_val + "B2 val:" + B2_val);
        }
    } else {
        alert("Only 2 butons should press..i:" + i);
        i = 0;
    }
    // alert("clcked a button:"+clicked_id);
}

但是代码不起作用

4

1 回答 1

0

如果您只想将值从第一次单击的位置移动到第二次单击的位置,那么您可以像这样简单地执行此操作:

var lastClick;

function check(id) {
    var src, dest;
    if (!lastClick) {
        // no previous click so just store the location of this first click
        lastClick = id;
    } else {
        // move value from lastClick id to new id
        src = document.getElementById(lastClick);
        dest = document.getElementById(id);
        dest.value = src.value;
        src.value = "";
        lastClick = null;
    }
}

我假设一个真正的应用程序需要各种错误处理,不能让你把一块放在另一块上面,忽略对空白空间的第一次点击,只执行合法的移动,等等......

于 2013-03-01T21:38:49.153 回答