在javascript中使用选择选项onchange更改Textarea内容

在javascript中使用选择选项onchange更改Textarea内容,javascript,html,server,onchange,Javascript,Html,Server,Onchange,这是我的第一个问题,如果我做错了,我很抱歉。 我有一个文本区和一个选择区。我想更改在选择中更改选项时键入的文本区域内容。但当我在“选择”中切换回“上一个”选项时,我希望文本区域显示我以前键入的内容 e、 g当我在“选择我想要的文本”区域中选择“英语”选项以显示英语文本时。然后,当我选择法语时,我希望textarea显示法语文本,但当我再次选择英语选项时,textarea需要再次显示英语文本 编辑:我需要在服务器端存储数据,这样它就可以从任何计算机上读取!很抱歉没有早点定义它 以下是我的HTML代

这是我的第一个问题,如果我做错了,我很抱歉。 我有一个文本区和一个选择区。我想更改在选择中更改选项时键入的文本区域内容。但当我在“选择”中切换回“上一个”选项时,我希望文本区域显示我以前键入的内容

e、 g当我在“选择我想要的文本”区域中选择“英语”选项以显示英语文本时。然后,当我选择法语时,我希望textarea显示法语文本,但当我再次选择英语选项时,textarea需要再次显示英语文本

编辑:我需要在服务器端存储数据,这样它就可以从任何计算机上读取!很抱歉没有早点定义它

以下是我的HTML代码:

<select class="dropdown no-border" id="dropdownLanguage">
     <option>Choose language</option>
     <option>English</option>
     <option>French</option>
 </select>

 <textarea name="agencyDescription" id="agencyDescription" class="about-agency" placeholder="Write something about your agency..." maxlength="5000">
     <?php echo $agency->getData('agencyDescription'); ?>
 </textarea>
我希望使用JS而不是jQuery。
谢谢你,在前面

我不确定,但我认为这样的事情应该达到你的预期

<select class="dropdown no-border" id="dropdownLanguage">
   <option selected="selected">Choose language</option>
   <option value="0">English</option>
   <option value="1">French</option>
</select>

<textarea name="agencyDescription" id="agencyDescription" class="about-agency" placeholder="Write something about your agency..." maxlength="5000">            
</textarea>


<script type="text/javascript">

    var select = document.getElementById("dropdownLanguage");
    var selectArray = [];
    var textArray = ["english txt","french txt"];
    var tArea = document.getElementById("agencyDescription");

    select.onclick = function(){
       textArray[parseInt(select.options[select.selectedIndex].value)]=tArea.value;
    }
    select.onchange = function(){
       tArea.value = textArray[parseInt(select.options[select.selectedIndex].value)];
    }
</script>

这是我做的一把小提琴,它很管用,但如果它不完美,我希望得到反馈:


这很难看,我不喜欢全局变量的使用,但它基本上是有效的。

localStorage或sessionStorage可能会帮助您:localStorage是一个好主意,就像@AhsN所说的,或者您可以将英语和法语文本存储在markuplocalStorage中的隐藏元素中,但是我需要一个服务器端存储,这样我就可以访问其他设备上的数据。如果你想我现在就移动,请稍后解释,效果非常好!非常感谢你!我只是将sessionStorage改为localStorage,这样它就可以持久化了。这在某一点上不被接受吗?我想你应该在这里接受其中一个答案,不一定是我的答案,然后在别处再问,否则将来回来的人会感到困惑。是的,我接受了,但我编辑了我的问题,不想问一个非常类似的新问题,因为我需要将数据保存在服务器端,以便我可以在其他设备上访问它。不过,我会再次接受你的意见,因为这是最有帮助的意见。如果您能帮助我进行服务器端存储,我将非常感激!嗯,我建议你再问一个问题——人们不会因为有类似的问题而生气,我认为最好把问题适当地标记出来。我很乐意尽我所能提供帮助-您的服务器上是否已经存储了任何数据?
<select class="dropdown no-border" id="dropdownLanguage">
   <option selected="selected">Choose language</option>
   <option value="0">English</option>
   <option value="1">French</option>
</select>

<textarea name="agencyDescription" id="agencyDescription" class="about-agency" placeholder="Write something about your agency..." maxlength="5000">            
</textarea>


<script type="text/javascript">

    var select = document.getElementById("dropdownLanguage");
    var selectArray = [];
    var textArray = ["english txt","french txt"];
    var tArea = document.getElementById("agencyDescription");

    select.onclick = function(){
       textArray[parseInt(select.options[select.selectedIndex].value)]=tArea.value;
    }
    select.onchange = function(){
       tArea.value = textArray[parseInt(select.options[select.selectedIndex].value)];
    }
</script>
var languageDropdown = document.getElementById("dropdownLanguage");

var lastSelected = languageDropdown.options[languageDropdown.selectedIndex].value

console.log(lastSelected);

languageDropdown.onchange = function(){

    var textBox = document.getElementById("agencyDescription");    
    currentText = textBox.value;

    var selected = this.options[this.selectedIndex].value;

    //load the current text into the last selected value
    sessionStorage.setItem(lastSelected, currentText);


    //load the new text in to the text box
    textBox.value = sessionStorage.getItem(selected);

    lastSelected = selected;
};