将脚本标记值传递给html中的输入标记

时间:2013-07-27 21:26:23

标签: javascript html

我正在尝试将特定变量值从脚本标记传递到输入标记。但不知怎的,它不起作用。

我正在尝试将以下代码中的variable1值从script标记传递到输入标记。

假设variable1值为John,那么我的代码中的这一行将如下所示 -

<input ONCLICK="window.location.href='some_url&textId=John'">

以下是代码

<html>
<head>
    <title>Applying</title>
</head>
<body>

<script>
function getUrlVars() {

    // some code

}
var variable1 = getUrlVars()["parameter1"];
var variable1 = unescape(variable1);

// some more code

</script>

<input ONCLICK="window.location.href='some_url&textId=variable1'">

</body>
</html>

有人能解释我在做什么错吗?

6 个答案:

答案 0 :(得分:1)

以这种方式尝试:

var variable1 = getUrlVars()["parameter1"];
variable1 = unescape(variable1);
document.getElementById('Apply').onclick = function() {
    window.location.href = 'some_url&textID=' + variable1;
};

将一个函数附加到onclick事件上,该事件完全符合您的要求。对于初始输入元素,只需删除onclick属性:

<input name="Apply" type="button" id="Apply" value="Apply" />

答案 1 :(得分:0)

如果您尝试将click处理程序绑定到此input元素,我会将其更改为以下内容:

<html>
<head>
    <title>Applying</title>
</head>
<body>

<script>
function getUrlVars() {

    // some code

}
var variable1 = getUrlVars()["parameter1"];
var variable1 = unescape(variable1);

document.getElementById("Apply").onclick = function() {
    window.location.href='some_url&textId=' + variable1;
}

// some more code

</script>

<input name="Apply" type="button" id="Apply" value="Apply" >

</body>
</html>

我还没有测试过,但它应该有用。

答案 2 :(得分:0)

如果您希望执行内联函数,则需要将代码包装在可执行的闭包中:

<input name="Apply" type="button" id="Apply" value="Apply" ONCLICK="(function() {window.location.href='your_data'})();">

由于这在很大程度上是不可维护的,我建议您将此功能抽象到应用程序中更有条理的位置。

(function(window, $, undefined) {
  // assuming you use jQuery
  $('#Apply').click(function() {
   window.location.href = '';// your code
  })
})(window, $);

我可能完全误解了你想做什么,但我希望这会有所帮助。

答案 3 :(得分:0)

整个url参数位肯定是不必要的。

您只需在字段中设置value属性:

var field = document.getElementById('textfield');
var value = 'Some text';

field.addEventListener("click", function () {
    this.setAttribute('value', value);
});

这是一个jsfiddle示例:http://jsfiddle.net/LMpb2/

答案 4 :(得分:0)

你需要将它添加到字符串中。所以试试

         "window.location.href='some_url&textId='+variable1+';'"

答案 5 :(得分:0)

在onclick上调用一个函数,在函数集window.location.href里面!

样本

<script>
var url="www.google.com";
function myfunc(){
alert(url);
}
</script>

<input type="button" onclick="myfunc()" value="btn" >

http://jsfiddle.net/CgKHN/