繁体   English   中英

当用户单击按钮时,如何使其自动在文本字段中输入特定的关键字?

[英]How can I make it automatically input particular keyword into text field when a user click a button?

我有一个HTML表单。 我想添加一个按钮,通过该按钮可以将特定的关键字自动输入到某些输入字段中(就像Twitter的回复一样)
然后它也跳到某些链接。

如何使用jQuery或Javascript实现该功能?

HTML(表单部分)

<a name="comment_part"></a>
<form accept-charset="UTF-8" action="/users/John/comments" class="new_comment" data-remote="true" enctype="multipart/form-data" id="new_comment" method="post">
    <input name="utf8" type="hidden" value="&#x2713;" />
    <input name="authenticity_token" type="hidden" value="vvwHbqyiDXv0Sv5NrbPP5kfdwhovbHkkOUm2/2uJdNs=" />
    <input class="chat_input" id="body_input" name="comment[body]" type="text" />  
    <button type="submit" class="btn">Submit</button>   
</form>

HTML(按钮部分)

keyword = "@John "
(here, I want to show a button. If a user click on it, `@John ` will be automatically input into the input field above `input class="chat_box" id="body_input"` then jump to a link `<a name="comment_part"></a>`)

如何使用jQuery或Javascript存档?

创建一个按钮并为其分配一个唯一的id属性:

<button type="button" id="username" value="#{@keyword}">Populate the chat box</button> 

然后,在jQuery中,侦听该按钮的单击; 单击它时,传递value属性并将其分配给input.chat_input#body_input

$(document).ready(function(e) {
     $('button#username').click(function () {
         e.preventDefault();
         $(".chat_input#body_input").val($(this).attr('value'));
     });
});

编辑:

相反,如果您希望按钮单击跳转到名称链接,则可以使用Rails的button_to helper

<%= button_to "Populate the chat box", "#name", :id => :username, :value => @keyword %>

根据该关键字的来源,只需将其作为数据属性附加到您的按钮即可...

  <button class='yourbutton' data-keyword="@john">YOUR BUTTON</button>

然后,Jquery进入文档准备好的代码...

$('.yourbutton').click(function(e){
e.preventDefault();    
$('#body_input').val($(this).data('keyword'));
  $('html, body').animate({scrollTop: $('a[name="comment_part"]').offset().top -100 }, 'slow'); 
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM