JavaScript-如何将用户输入值分配给脚本中的变量
使用小部件脚本——来自社交网站。试图通过添加输入框进行修改,以允许用户更改社交媒体主题(var SMSearchPhase)。我创建了一个函数[smSearch()]来检索用户数据(smTopic),将其分配给一个新变量(var newTopic),然后将该值分配给var smSearchPhrase。作业不起作用 该函数似乎是基于通过警报观察到的值来工作的,但是,我不知道如何在脚本中将var newTopic中的值分配给var smSearchPhrase。我尝试将脚本放在函数中,但也不起作用。感谢您的帮助 如果我没有包括所有必要的信息,请告知。谢谢你的帮助 HTML: 脚本:原始版本中的var-smSearchPhrase已分配值,例如var-smSearchPhrase='社会提及'JavaScript-如何将用户输入值分配给脚本中的变量,javascript,Javascript,使用小部件脚本——来自社交网站。试图通过添加输入框进行修改,以允许用户更改社交媒体主题(var SMSearchPhase)。我创建了一个函数[smSearch()]来检索用户数据(smTopic),将其分配给一个新变量(var newTopic),然后将该值分配给var smSearchPhrase。作业不起作用 该函数似乎是基于通过警报观察到的值来工作的,但是,我不知道如何在脚本中将var newTopic中的值分配给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>
//搜索短语(替换此)
var搜索短语;
//标题(可选)
var smTitle=‘实时嗡嗡声’;
//每页项目数
var smItemsPerPage=7;
//显示或隐藏用户配置文件图像
var smShowUserImages=true;
//小部件字体大小(像素)
var-smFontSize=11;
//小部件的高度
var smWidgetHeight=800;
//来源(可选,注释“全部”)
//var smSources=['twitter','facebook','googleblog','identica'];
我认为您的表单正在提交回后端,您需要通过从onsubmit返回false
或取消事件来阻止表单这样做
因此,这应该是可行的:
<form onsubmit="return smSearch();">
<label for="smTopic">Enter topic:</label>
<input type="text" id="smTopic">
<button>Submit</button>
<input type="reset">
</form>
就我个人而言,我会在事件参数(此处未显示)上使用preventDefault(),但当您还包括像jQuery这样的JavaScript库时,这只适用于所有浏览器,因为IE的某些版本在事件或其他方面使用了气泡属性。这是什么意思?它是怎么工作的。看起来它确实赋值了。当您试图在SMSearchPhase中显示值时。谢谢您的回复。我无法从脚本中指定给SMSearchPhase的输入框(smTopic)中获取值。对我来说,它只在我手动输入smSearchPhase的值时起作用,例如var smSearchPhase='stackoverflow';我希望这能回答你的问题。谢谢-JimOh我想我明白了,加上一个答案。谢谢Bjorn。我修改了HTML以返回smSearch()onsubmit,并通过返回false来返回函数。警报表明已成功从输入框中为SMSearchPhase分配了值,但它仍然不起作用。是SocialMention的脚本,带有var smSearchPhrase;好啊谢谢你的帮助JimWhat不起作用了?你想让它做什么?它在做什么?谢谢。我把文件上传给你看了。谢谢你的帮助吉米不明白为什么它不起作用:。也许您可以从主页进行导航:。该链接是Web服务下的最后一个链接。
<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>
<form onsubmit="return smSearch();">
<label for="smTopic">Enter topic:</label>
<input type="text" id="smTopic">
<button>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);
}
return false;
}