我有一个输入字段,当按下回车键时(因为没有提交字段)我希望javascript在提交表单时添加每个关键字的@字符前面。

例如:

该文字将输入为......

回家,个人,致电

但提交的价值是......

@home,@ personal,@ call

到目前为止,我有:

$("#inputfield").keydown(function(e){
    if (e.keyCode == 13) {
        $("#inputfield") // Not sure what to add next
        .submit();
    }
有帮助吗?

解决方案

您必须在空格处拆分字段的值,然后在每个数组值前面添加@,然后将其作为输入值添加回来。另外,我建议在输入字段中监听表单的提交事件而不是回车键。

 $('#form').submit( function() {
   var words = $('#inputfield').val().split(' ');
   var newwords = new Array();
   for(i=0, x=words.length; i<x; i++){
    newwords.push('@'+words[i]);
   }
   $('#inputfield').val( newwords.join(' ') );
   //we do not return false because we want the form to submit
 });

其他提示

这应该可以解决问题:

$("#inputfield").keydown(function(e){
if (e.keyCode == 13) {
    $('#inputfield').val($('#inputfield').val().split(',').map(function(item) {
            return '@'+item;
         }).join(',')); 
    $(this).submit();
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top