如何转换&#34;不同&#34;使用<select>将多个<button>函数转换为通用函数?

时间:2017-03-09 02:42:59

标签: javascript java jquery html upload

如何使加载按钮java函数只用一个按钮,而不是两个单独的按钮调用两个&#34;不同的&#34; JavaScript函数? 换句话说澄清了这个问题: 我有两个不同的功能需要触发,但是从一个用于触发我在选择框中选择的功能。 请记住:警告和确认仍然有效,因此我不能为两个选项提供同一个加载功能,因为不同的警告和确认。 注意:如果可以不使用jquery只使用JavaScript会很好,但是如果有一个jquery的解决方案那么只要它有效就会很好。 这是我的JavaScript代码: function loadFileAsTextUNLIMITED() {     有效=真;     if(document.fileTextBox.fileLoadName.value ==&#34;&#34;)     {     提醒(&#34;请附上要上传的文件&#34;)     有效=假;     }     {     if(确认(&#34;您确定要上传未知文件吗?请记住,如果您上传的文件不是文本或网页源代码文件,则可能会挂断您的计算机,或者可能会破坏该文件)你试图保存它。所以如果你选择以这种方式上传它,你自己承担风险。&#34;))         {         var fileToLoad = document.getElementById(&#34; fileToLoad&#34;)。files [0];         var fileReader = new FileReader();         fileReader.onload = function(fileLoadedEvent)             {             var textFromFileLoaded = fileLoadedEvent.target.result;             document.getElementById(&#34; inputTextToSave&#34;)。value = textFromFileLoaded;             };         fileReader.readAsText(fileToLoad,&#34; UTF-8&#34;);         } else {         window.alert(&#34;好,建议你使用普通的加载文本按钮,只有你也使用这个按钮。&#34;)         }     } } function loadFileAsText() {     有效=真;     if(document.fileTextBox.fileLoadName.value ==&#34;&#34;)     {     提醒(&#34;请附上要上传的文件&#34;)     有效=假;     }     {     var fup = document.getElementById(&#39; fileToLoad&#39;);     var fileName = fup.value;     var ext = fileName.substring(fileName.lastIndexOf(&#39;。&#39;)+ 1);     if(ext ==&#34; TXT&#34; || ext ==&#34; txt&#34; || ext ==&#34; HTML&#34; || ext ==&#34; html&# 34; || ext ==&#34; HTM&#34; || ext ==&#34; htm&#34; || ext ==&#34; JS&#34; || ext ==&#34; js&#34; || ext ==&#34; CSS&#34; || ext ==&#34; css&#34; || ext ==&#34; PHP&#34; || ext ==&# 34; php&#34; || ext ==&#34; DOWNLOAD&#34; || ext ==&#34; download&#34;)         {         var fileToLoad = document.getElementById(&#34; fileToLoad&#34;)。files [0];         var fileReader = new FileReader();         fileReader.onload = function(fileLoadedEvent)         {         var textFromFileLoaded = fileLoadedEvent.target.result;         document.getElementById(&#34; inputTextToSave&#34;)。value = textFromFileLoaded;         };         fileReader.readAsText(fileToLoad,&#34; UTF-8&#34;);         }     其他         {         警报(&#34;上传包含源代码的文本或网页文件&#34;);         fup.focus();         返回false;         }     } } 以下是我的HTML代码的那些部分: &lt; input type =&#34; file&#34; ID =&#34; fileToLoad&#34;名称=&#34; fileLoadName&#34;&GT; &lt; input type =&#34; button&#34;的onclick =&#34; loadFileAsText(); showFileSize();&#34;值=&#34;加载文本/源代码文件&#34;&gt; &LT峰; br&GT; &lt; input type =&#34; button&#34;的onclick =&#34; loadFileAsTextUNLIMITED(); showFileSize();&#34;值=&#34;您自担风险加载任何文件类型&#34;&gt; &LT峰; br&GT; &lt; textarea id =&#34; inputTextToSave&#34;命名=&#34; inputTextToSave&#34;行=&#34; 10&#34; COLS =&#34; 70&#34;占位符=&#34;在此输入您的文字:&#34;&gt;&lt; / textarea&gt;

1 个答案:

答案 0 :(得分:1)

要获得一个选择的值(不确定它是否是一个单选按钮,下拉选择或什么 - 我的头顶忘记了获取该值的语法,但它很容易谷歌)看看这篇文章:Get selected value in dropdown list using JavaScript?

获得该值之后,您只需编写一个提交(按钮单击)功能,如下所示:

 function uploadDocument() {
   var selectValue = //get the select value and store it here
   valid = true;

  if(document.fileTextBox.fileLoadName.value == ""){
    alert ("Please attach a file to upload")
    valid = false;
    return;
  } 

  if(selectValue === 'unlimited'){
    loadFileAsTextUNLIMITED()
  } else {
    loadFileAsText()
  }   
}

希望这与你想要完成的事情有点接近