Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript-如何将用户输入值分配给脚本中的变量_Javascript - Fatal编程技术网

JavaScript-如何将用户输入值分配给脚本中的变量

JavaScript-如何将用户输入值分配给脚本中的变量,javascript,Javascript,使用小部件脚本——来自社交网站。试图通过添加输入框进行修改,以允许用户更改社交媒体主题(var SMSearchPhase)。我创建了一个函数[smSearch()]来检索用户数据(smTopic),将其分配给一个新变量(var newTopic),然后将该值分配给var smSearchPhrase。作业不起作用 该函数似乎是基于通过警报观察到的值来工作的,但是,我不知道如何在脚本中将var newTopic中的值分配给var smSearchPhrase。我尝试将脚本放在函数中,但也不起作用

使用小部件脚本——来自社交网站。试图通过添加输入框进行修改,以允许用户更改社交媒体主题(var SMSearchPhase)。我创建了一个函数[smSearch()]来检索用户数据(smTopic),将其分配给一个新变量(var newTopic),然后将该值分配给var smSearchPhrase。作业不起作用

该函数似乎是基于通过警报观察到的值来工作的,但是,我不知道如何在脚本中将var newTopic中的值分配给var smSearchPhrase。我尝试将脚本放在函数中,但也不起作用。感谢您的帮助

如果我没有包括所有必要的信息,请告知。谢谢你的帮助

HTML:

脚本:原始版本中的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>

//搜索短语(替换此)
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;
}