所以我已经在这里工作了好几个小时并且没有想出来,我知道有一个简单的解决方案所以我想我会问这里。我试图将文本区域的值传递给链接作为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之前,我不需要编写共享链接。
感谢您的帮助。
答案 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或更好的连接。