0

我已经问了一些与此相关的问题,并且都得到了很好的回答,所以我希望得到一些更好的相关答案。

我在一个页面上有 9 个按钮,带有文本输入。当用户单击其中一个按钮时,他们放入文本输入字段的文本将传输到该页面上的另一个文本框,但我也希望该按钮更改颜色。

所以我的 html 是这样的:

<input id="fbvalbox" type="text" placeholder="Your personal message" />
<input id="butval1" class="butz" type="button" name="design1" value="Choose Design" onclick="changeID(this);" />

那是一个文本框和一个按钮。所以,这是我的另一个框,我想要在那个框中输入的消息到这个框。

<input id="design_choice" type="text" value="" />

现在对于我的 javascript,这是将消息传输到我的设计选择文本框的脚本。

window.onload = function(){
    document.getElementById('butval1').onclick = function(){
    document.getElementById('design_choice').value = document.getElementById('fbvalbox').value;   
}

这很好用,但我也希望按钮改变颜色。

因此,我将 onclick="changeId(this)" 添加到第一个框中,但它不起作用。这是一个单独的 .js 文件,但也在页面的头部。

function changeID(elm){
    var NAME = elm;
    var currentClass = NAME.className;
        if (currentClass == "butz") { 
            NAME.className = "butzz";   
        } else {
            NAME.className = "butz";  }

现在,如果我单独使用它,效果很好,但我想同时执行这两个 onclick。第一个,我已经写出来了,它可以通过 Id 传递值。而第二个js,是写改css类的

我要两个都跑。任何帮助深表感谢。

谢谢你

4

2 回答 2

2

既然用过 jQuery 标签,为什么不用 jQuery 解决方案

<input id="fbvalbox" type="text" placeholder="Your personal message" />
<input id="butval1" class="butz" type="button" name="design1" value="Choose Design" />
<input id="design_choice" type="text" value="" />

然后

function changeID(elm) {
    $(elm).toggleClass('butz butzz')
}

jQuery(function($){
    $('#butval1').click(function(){
        $('#design_choice').val($('#fbvalbox').val())
    })
})

jQuery(function($){
    $('#butval1').click(function(){
        changeID(this)
    })
})

演示:小提琴

于 2013-09-12T02:31:16.807 回答
1

尝试:

function changeID(elm){
    document.getElementById('design_choice').value = document.getElementById('fbvalbox').value;
var NAME = elm;
var currentClass = NAME.className;
    if (currentClass == "butz") { 
        NAME.className = "butzz";   
    } else {
        NAME.className = "butz";  }
}

DEMO FIDDLE

注意:根据您的要求更改文本框 ID。但我会建议使用 Arun P Johny 提到的 jQuery 解决方案。

于 2013-09-12T02:31:53.077 回答