使用 Javascript 将按钮值传递给文本区域值

Pass button value to textarea value with Javascript

我正在尝试将附加到我的按钮的值发送到名为 "your-message" 的文本区域,并要求它使用 Javascript 按名称命名。但是由于某种原因,该值似乎没有正确传递到文本区域。

有谁知道我的 JavaScript 哪里出了问题?

<script type = "text/javascript">
    function request_booking(objButton) {
        var booking = objButton.value;
        alert(booking);

        var textarea = document.getElementByName('your-message');
        textarea.value(booking);
    }
</script>

<button id="3" value="Start Date: 2016-02-12 \n Finish Date:  2017 -02-12 \n Additional Requests: \n" class="request-booking" onclick="request_booking(this)">Request</button>
<button onclick="request_booking(this)" class="request" id="2" value="2 Submitted" type="submit">Request</button>
<button onclick="request_booking(this)" class="request" id="3" value="3 Submitted" type="submit">Request</button>

<textarea aria-invalid="false" aria-required="true" class="wpcf7-form-control wpcf7-textarea wpcf7-validates-as-required" rows="10" cols="40" name="your-message"></textarea>

将值赋给 textarea 而不是传递,另请注意,您拼写错误的函数 getElementsByName,您的调用中缺少 s,因为您有 getElementByName

改变

textarea.value(booking);  

 textarea.value = booking;    

你甚至可以直接赋值。

Live Demo

document.getElementsByName('your-message')[0].value = booking;  

试试这个

var textarea = document.getElementByName('your-message');
textarea.value = booking;

你可以做一些改变

$('button').on('click',function(){
document.getElementsByName('your-message')[0].value = this.value;
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="3" value="Start Date: 2016-02-12 \n Finish Date:  2017 -02-12 \n Additional Requests: \n" class="request-booking" >Request</button>


<button  class="request" id="2" value="2 Submitted" type="submit">Request</button>


<button  class="request" id="3" value="3 Submitted" type="submit">Request</button>

<textarea name="your-message"></textarea>

函数中存在问题 calling.Showing 未找到错误。

如果您想使用 Javascript

按名称使用元素

然后更新您的代码

 var textarea = document.getElementByName('your-message');
textarea.value(booking);  

var textarea = document.getElementsByName("your-message")[0];
textarea.value = booking;       

live demo