0

我想制作一个可以传递参数的按钮,但是正如您所看到的,我将参数“Jason”赋予它,它结束了“onclick”值的行。我应该怎么办?

<script type="text/javascript">
    function greeting(name,age){
        alert("Hello, "+name+", you are "+age+" years old.");
    }
</script>
<form>
<input type="button" value="Click me" onclick="greeting("Jason",20)" />
4

2 回答 2

6

在双引号内使用单引号,否则您将终止字符串:

onclick="greeting('Jason',20)"
                 -^-   -^-
于 2013-02-27T02:03:03.470 回答
0

您需要使用不同的引号。

<input type="button" value="Click me" onclick="greeting('Jason',20)" />

或者您可以使用 HTML 实体。

<input type="button" value="Click me" onclick="greeting(&quot;Jason&quot;,20)" />

但是onclick相当陈旧。我会做这样的事情。

HTML:

<button type="button" class="js-greeting" data-name="Jason" data-age="20">Click me</button>

JS(加上 jQuery;你可以不这样做,但跨浏览器问题仍然很严重):

$(function() {
    $('.js-greeting').click(function() {
        var name = $(this).data('name');
        var age = $(this).data('age');

        alert("Hello, " + name + "; you are " + age + " years old.");
    });
});
于 2013-02-27T02:08:14.790 回答