使用社交提示中的小部件脚本 - http://socialmention.com/tools/--。试图通过添加输入框来修改以允许用户更改社交媒体主题(var smSearchPhrase)。我创建了一个函数[smSearch()]来检索用户数据(smTopic),将其分配给一个新变量(var newTopic),然后将该值赋给var smSearchPhrase。作业不起作用。
该函数似乎基于通过警报观察到的值工作,但是,我无法弄清楚如何将var newTopic中的值分配给脚本中的var smSearchPhrase。我通过在函数中放置脚本来进行实验,但这也没有用。任何帮助表示赞赏。
如果我未能包含所有必要信息,请告知。感谢您的帮助。
HTML:
<form>
<label for="smTopic">Enter topic:</label>
<input type="text" id="smTopic">
<button onclick="smSearch()">Submit</button>
<input type="reset">
</form>
功能:(包括检查值的警报)
function smSearch(){
var newTopic=document.getElementById("smTopic").value;
if(newTopic === ""){
alert("Please enter new social media topic.");
}else{
alert("New topic: " + newTopic);
smSearchPhrase = newTopic;
alert("Value of smSearchPhrase: " + smSearchPhrase);
}
脚本:原始的var smSearchPhrase具有分配的值,例如var smSearchPhrase ='社交提及';
<script type="text/javascript">
// search phrase (replace this)
var smSearchPhrase;
// title (optional)
var smTitle = 'Realtime Buzz';
// items per page
var smItemsPerPage = 7;
// show or hide user profile images
var smShowUserImages = true;
// widget font size in pixels
var smFontSize = 11;
// height of the widget
var smWidgetHeight = 800;
// sources (optional, comment out for "all")
//var smSources = ['twitter', 'facebook', 'googleblog', 'identica'];
</script>
<script type="text/javascript" language="javascript" src="http://socialmention.s3.amazonaws.com/buzz_widget/buzz.js"></script>
答案 0 :(得分:0)
我认为您的表单正在提交回后端,您需要通过从onsubmit返回false
或取消该事件来停止表单。
所以这应该有效:
<form onsubmit="return smSearch();">
<label for="smTopic">Enter topic:</label>
<input type="text" id="smTopic">
<button>Submit</button>
<input type="reset">
</form>
在JavaScript中返回false:
function smSearch(){
var newTopic=document.getElementById("smTopic").value;
if(newTopic === ""){
alert("Please enter new social media topic.");
}else{
alert("New topic: " + newTopic);
smSearchPhrase = newTopic;
alert("Value of smSearchPhrase: " + smSearchPhrase);
}
return false;
}
我个人在事件参数上使用了preventDefault()(这里没有显示),但是当你还包含像jQuery这样的JavaScript库时,这只适用于所有浏览器,因为某些版本的IE在事件上使用了bubble属性或者东西。