在Textarea中输入输入时,我希望将相同的文本附加到输入,即输入的值为" http://www。"无论我在textarea中输入什么,我都希望将其附加到输入值。
现在它总是将更改添加到更改中,例如:
(在textarea中输入google.com) 它补充说: G 走 感伤 goog 等等 这导致: http://www.ggogoogoog ......等等。
我做错了什么?
var titleLink = "";
var url = $('#text2');
function inputLink(){
titleLink = $('#text1').val();
console.log("changed: " + titleLink);
var http = url.val();
url.val(http + titleLink);
};

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea name="text1" id="text1" cols="30" rows="10" oninput="inputLink()"></textarea> <br>
<input id="text2" type="text" value="http://www.">
&#13;
答案 0 :(得分:2)
问题是var http = url.val();
每次输入时都会得到更新的输入值。所以
您可以使用var http = 'http://www.';
代替
var titleLink = "";
var url = $('#text2');
function inputLink(){
titleLink = $('#text1').val(); // get textarea value
console.log("changed: " + titleLink);
var http = 'http://www.'; // http is 'http://www.'
url.val( http + titleLink); // append http + textarea value
};
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea name="text1" id="text1" cols="30" rows="10" oninput="inputLink()"></textarea> <br>
<input id="text2" type="text" value="http://www.">
&#13;