根据用户文本输入更新URL链接并保存Wordpress中的更改

时间:2013-12-20 22:21:07

标签: javascript html wordpress google-plus hangout

我创建了一个总结的Wordpress页面,允许某人开始一个环聊会话。启动环聊会话后,用户可以复制环聊URL并将其粘贴到输入框中,然后单击“提交”。目的是页面上的更新链接保留在下一个用户打开页面以单击并跟随相同的环聊。

我正在使用以下JS函数来更新下面列出的html部分。

 <script type="text/javascript">
function updatelink(){
    var userInput = document.getElementById('userInput').value;
    var lnk = document.getElementById('lnk');
    lnk.href = userInput;
    lnk.innerHTML = lnk.href;
}
</script>

这是调用函数并获取更新的html。

Connect to Hangout Here : <a href="" id=lnk>nothing here yet</a> <br>
<input type='text' id='userInput' value='Enter Hangout Link Here' />
<input type='button' onclick='updatelink()' value='Change Link'/>

这可以将页面上的链接更新为用户的输入。我遇到的问题是,当您刷新页面时它不会保存。它会在我需要它时重置,直到它再次更新为止。

任何帮助将不胜感激。我是初学者,所以描述性越强越好。

感谢。

2 个答案:

答案 0 :(得分:0)

<input type='text' id='userInput' name='urlhang' value='Enter Hangout Link Here' />


SESSION['urlhang'] = $_POST['urlhang'];

您可以创建该值的会话&amp;如果要更新该值,请重置会话。

这个逻辑可以解决你的问题。所以你可以在 SESSION ['urlhang'] 中获得该值,直到你将更新它。

答案 1 :(得分:0)

我发现使用MySQL来更新和存储表中的链接可能是最好的。

到目前为止,我已使用以下代码从数据库中取出lnk:

extract(shortcode_atts(array('arg' => 'default'), $atts));
   // Connects to your Database 
   mysql_connect("localhost", "user", "password") or die(mysql_error()); 
   mysql_select_db("my_db") or die(mysql_error()); 
   $data = mysql_query("SELECT * FROM lnk") 
   or die(mysql_error());

   while($info = mysql_fetch_array( $data )) 
   {  
   return "".$info['lnk']."";
   }  

第一行是为wordpress创建一个短代码。我访问这个php脚本的html如下:

<button onclick="openWin()" name="hangout1">Join/Create Room</button>
<script type="text/javascript">// <![CDATA[
function openWin() { window.open(lnk,"_blank","toolbar=0, scrollbars=0, resizable=yes, top=-100, left=0, width=800, height=800"); }
// ]]></script>

<a id="lnk" href=[connectserver]></a>

[connectserver] 是php短代码参考。

我必须更新数据库中链接的代码如下:

extract(shortcode_atts(array('link' => 'default'), $atts));

 // Connects to your Database 
 $con=mysqli_connect("localhost","username","password","my_db");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
mysqli_query($con,"UPDATE lnk SET lnk='"$atts"'"); 



mysqli_close($con);

以下脚本用于通过上面的php短代码将新链接(用户输入)提交到数据库。 (当手动运行php时,我可以更改lnk ='“$ atts”'“);部分到我想要的变量ex ... lnk ='www.yourwebsite.com'”);并且它正常工作。)(参见下面其余的非工作代码。)

<input id="userInput" type="text" value="Enter Hangout Link Here" />
<input onclick="[updatelnk link=userinput]" type="button" value="Change Link" />

我无法弄清楚如何通过用户输入将新链接传递给短代码。有没有人有这个答案?

感谢Dipak的回答,但我是新手,没有使用javascript的经验。我查找了开始会话,但我认为数据库选项可能是一个更好的途径。如果我错了请告诉我。