我对JavaScript相当陌生,我想知道是否有人可以帮助我解决这个问题。我有三个文本框,前两个显示名字和姓氏。我希望最后一个文本框同时包含第一个和最后一个。

这是代码:

<!doctype html>
<html>
    <head>
        <title>Javascript Textbox</title>
    </head>
    <body>
        First Name: <input id="fname" type="text" value="John"><br>
        Last Name: <input id="lname" type="text" value="Smith"><br>
        <input id="textbox" readonly>

        <button onclick="textbox.value=fname.value+' '+lname.value">press to see full name</button>

        <script type="text/javascript" src="testing.js"></script>
    </body>

</html>


这可以正常工作,但是当我尝试使用外部文件testing.js并切换onclick="testFunction()"时,它将不再起作用。

testing.js:

function testFunction() {
    var first = document.getElementById("fname").value;
    var last  = document.getElementById("lname").value;
    var textb = document.getElementById("textbox").value;
    textb     = first + " " + last;
}

最佳答案

http://jsfiddle.net/1vshky4s/

最终,您的问题是要为texb var分配文本框的值,然后使用串联字符串覆盖它,然后对结果完全不执行任何操作。

function testFunction()
{
    var first = document.getElementById("fname").value;
    var last = document.getElementById("lname").value;
    var textb = first + " " + last;

    document.getElementById("textbox").value = textb;
}


实际使用textb var做些事情,您应该一切顺利。检查小提琴。

关于javascript - 内联Javascript有效,但在外部不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27558049/

10-09 08:33
查看更多