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