将字符串值作为参数传递给javascript

时间:2015-07-16 05:54:40

标签: javascript php

我正在尝试将字符串值传递给JavaScript参数。 这是我的HTML代码

<input type="submit"  value="Edit" onclick="edit(<?php echo $key; ?> );" name="<?php echo $key; ?>" >

这是我的JavaScript函数

<script type="text/javascript">
function edit(id){
window.location.href="http://localhost/koko/edit-post.php?id="+id;
}
</script>

但这对我不起作用。我是如何解决这个问题的?

1 个答案:

答案 0 :(得分:0)

由于$key的类型为string,您需要用引号括起来。对参数使用引号。

onclick="edit('<?php echo $key; ?>');"
//            ^                   ^

更好的方式:

作为您在函数中想要的name,您可以使用element.name来获取它。

请参阅以下代码中突出显示的评论:

HTML:

<input type="submit" value="Edit" onclick="edit(this);" name="<?php echo $key; ?>">
<!--                                            ^^^^ Pass the element instance to the function -->

使用Javascript:

<script type="text/javascript">
function edit(el) {
    //        ^^ // Get the element instance here
    window.location.href = "http://localhost/koko/edit-post.php?id=" + el.name; // Use element.name to get the `$key` value.
    //                                                                 ^^^^^^^
}
</script>