通过javascript将动态文本输入传递到链接

时间:2011-08-19 00:50:48

标签: javascript jquery global-variables

所以我已经在这里工作了好几个小时并且没有想出来,我知道有一个简单的解决方案所以我想我会问这里。我试图将文本区域的值传递给链接作为Twitter分享按钮的一部分。我认为问题是全局范围我能够从我的外部JavaScript中获取变量,但不能从我的主要php文件中获取变量。例如。

这是html:

   <div id="share_twitter">
    Friends Twitter Username (optional) <input type="text" name="friends_twitter" value="@" />
<script type="text/javascript"> 
       window.document.write('<a href="http://twitter.com/share?text='+window.twitter_text+'&url=http://example.com/<?php echo $slug;?>" class="twitter-share-button"></a>'); 
</script>

然后我在extenral.js中有了Javascript,它假设获得“friends_twitter”的值并将其发送回主页面,这将允许我创建一个动态链接到那些人的推特。

我尝试了这个var friends_twitter_input = $("input[name=friends_twitter]");,但如果我undefined window.friends_twitter_input = $("input[name=friends_twitter]");,它会更好但仍然没有达到目的。

我还编写了代码来检测密钥更改,但只有当它放在external.js中时才会起作用

我可能会把这一切都弄错,但我似乎无法让它变得明快。任何帮助都会很棒。

更新

我在firebug中收到错误“friends_twitter_input未定义”,但不确定原因

在custom.js中

$(document).ready(function(){
var friends_twitter_input = $("input[name=friends_twitter]").val();
    $(".twitter-share-button").click(function() {
            var friends_twitter_input = $('input[name=friends_twitter]').val();

    });
}

在index.php里面

<script type="text/javascript"> 
    window.document.write('<a href="http://twitter.com/share?text='+friends_twitter_input+'&url=http://example.com/<?php echo $slug;?>" class="twitter-share-button"></a>');
 </script>

我认为在输入有值或将值定义为null之前,我不需要编写共享链接。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

不太确定您所有代码的结构,但有些内容可能会有所帮助。

要从输入按钮获取值,这是您需要的代码。

var friends_twitter_input = $("input[name=friends_twitter]").val();

还要确保在输入文本到位后执行尝试读取输入文本值的代码。

要在页面加载后执行您的javascript,请使用以下命令:

$(document).ready(function() {
  //All your javascript here.
});

要连接到输入文本的oncahnge事件,请执行此操作(在ready处理程序内)

$("input[name=friends_twitter]").onchange(function() {
     var friends_twitter_input = $(this).val();
});

请注意,onchange事件中的代码仅用于演示目的,您可能希望在提交按钮的onclick事件中使用onblur或更好的连接。