![](/img/trans.png)
[英]Can I pass variable from one function to another in javascript?
[英]Can i pass private variable to another function in javascript
我希望人们可以根据人们输入的姓名通过唯一链接共享Twitter。
首先,我创建一个函数genurl,该函数可以根据输入姓名的人生成url。
其次,我希望人们在Twitter上分享时可以分享网址。
现在的问题是,我在每个人身上都有一个唯一的网址。 如何将url ($("#result").html(url))
传递给shareTwitter函数中的变量attr1
?
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <title>Generate Your Referral URL Link</title> <style> h2 { margin: 5px 0; padding:0; } td:first-child { width:150px; } td { width:300px; } input { width:100%; } </style> </head> <body> <!-- Genenrate a unique url interface --> <h1 style="margin:30px 0 0 50px;">Generate Your Referral URL Link</h1> <table style="margin:0 50px;"> <tr><td>Backer Name:</td><td><input type="text" name="name" id="name" class="name" placeholder="Your Kickstarter Display Name (Case Sensitive)"></td></tr> <tr><td>Join Time:</td><td><input type="text" name="time" id="time" class="time" placeholder="Month/Year You Joined Kickstarter"></td></tr> <tr><td>Reward You Pledged:</td> <td> <select name="reward" class="reward"> <option value=""></option> <option value="seb1">SUPER Early Bird: Charcoal/Snow</option> <option value="seb2">SUPER Early Bird: Oak</option> <option value="eb1">Early Bird: Charcoal/Snow</option> <option value="seb3">SUPER Early Bird: Onyx</option> <option value="seboo">Special Early Bird: Oak/Onyx</option> <option value="ks1">Kickstarter Special: Charcoal/Snow</option> <option value="seb4">Special Early Bird CONTINUED: Oak/Onyx</option> <option value="eb2">Early Bird: Oak</option> <option value="eb3">Early Bird: Onyx</option> <option value="ks2">Kickstarter Special: Oak</option> <option value="dr">Developer Reward</option> <option value="ks3">Kickstarter Special: Onyx</option> <option value="pc1">Personal Collection</option> <option value="pc2">Premium Collection</option> <option value="a4">Any 4</option> <option value="a5">Any 5</option> </select></td></tr> <tr><td></td></tr> </table> <div style="margin:0 50px;"> <button type="button" id='genurl' onclick="genurl()">Create</button> </div> <div id="result" style="margin: 0 30px;"></div> <div class="msg" style="margin: 0 30px;"></div> </div> <div style="margin-top: 60px;"> <!-- share twitter with the unique url interface--> <a href="javascript:void(0)" id="twitterShare" onclick="shareTwitter()" target="_blank"> <img src="https://daks2k3a4ib2z.cloudfront.net/58bad0d628e47e3e2911d6aa/58bad0d728e47e3e2911d711_fa-twitter_100_0_02779e_none.png" /> <br /><p>Share on Twitter</p> </a> </div> <script type="text/javascript"> //Generate unique url function genurl(){ var name = $(".name").val(); name = name.trim(); var time = $(".time").val(); time = time.trim(); var reward = $(".reward").val(); if(name.length > 0 && time.length > 0 && reward.length > 0) { var url = "https://www.kickstarter.com/projects/mobvoi/ticwatch-2-the-most-interactive-smartwatch?utm_campaign=kickstarter_backer&utm_medium=referral&utm_source=social_share&backer_id="; url = url + encodeURIComponent(name + "_" + time + "_" + reward); $("#result").html(url); } else { $(".msg").html('<h2>please write Backer Name, Join Time and Reward You Pledged!</h2>'); } }; //share twitter with the unique url function shareTwitter() { // How could i pass the $("#result").html(url) to variable attr1? var attr1 = genurl(); var attr = "https://twitter.com/home?status=" + attr1; document.getElementById("twitterShare").setAttribute('href', attr); } </script> </body> </html>
让genurl
返回值。
function genurl(){
var name = $(".name").val();
name = name.trim();
var time = $(".time").val();
time = time.trim();
var reward = $(".reward").val();
if(name.length > 0 && time.length > 0 && reward.length > 0)
{
var url = "https://www.kickstarter.com/projects/mobvoi/ticwatch-2-the-most-interactive-smartwatch?utm_campaign=kickstarter_backer&utm_medium=referral&utm_source=social_share&backer_id=";
url = url + encodeURIComponent(name + "_" + time + "_" + reward);
return url;
}
else{
$(".msg").html('<h2>please write Backer Name, Join Time and Reward You Pledged!</h2>');
return null;
}
}
然后在您的shareTwitter
函数中使用此值:
function shareTwitter() {
// How could i pass the $("#result").html(url) to variable attr1?
var attr1 = genurl();
if(attr1){ // check value was returned!
var attr = "https://twitter.com/home?status=" + attr1;
document.getElementById("twitterShare").setAttribute('href', attr);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.