使用jQuery向提交表单添加隐藏文本

使用jQuery向提交表单添加隐藏文本,jquery,forms,submit,Jquery,Forms,Submit,所以我有了这个登录表单,我想做的是在他们的用户名后面附加一段额外的数据,比如说-123,因为这将决定他们登录到哪个站点 我的HTML页面中有以下内容,但不幸的是这不起作用。有什么想法吗 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <script type="text/javascript"> $('submit').click

所以我有了这个登录表单,我想做的是在他们的用户名后面附加一段额外的数据,比如说-123,因为这将决定他们登录到哪个站点

我的HTML页面中有以下内容,但不幸的是这不起作用。有什么想法吗

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

<script type="text/javascript">
$('submit').click(function () {
 $('input[username="username[]"]').map(function () {
  $(this).val($(this).attr('username') + '-123' + $(this).val());
   alert($(this).val());
  });
});

$('submit')。单击(函数(){
$('input[username=“username[]”)。映射(函数(){
$(this.val($(this.attr('username')+'-123'+$(this.val());
警报($(this.val());
});
});


用户名:
密码:

只需按ID获取元素,因为它们都有ID,然后在使用
val()
提交表单之前更改值。
submit
事件在提交表单之前触发

$('#loginForm').on('submit', function() {
    $('#username').val(function(v) {
        return v + '-123';
    });
});

使用
map()
设置
val()
的逻辑非常复杂,根本不是您需要的。相反,在选择
#username
元素后,可以将函数传递给
val()
,该函数将所需字符串附加到当前值,如下所示:

$('form')。提交(函数(e){
e、 preventDefault();//这只是为了本例,如果不需要,请删除
$('#username').val(函数(i,v){
返回v+'-123';
});
});
。登录字段{
文本对齐:左对齐;
左边距:0px;
边缘顶部:16px;
高度:217px;
宽度:225px;
背景图片:url(图片/请登录.jpg);
背景重复:无重复;
}
.login字段>分区:第n个子项(1){
位置:相对位置;
左:24px;
顶部:48px;
}
.login字段>分区:第n个子项(2){
位置:相对位置;
左:24px;
顶部:60px;
}
.登录字段>分区:第n个子项(3){
位置:相对位置;
左:124px;
顶部:72px;
}

用户名:
密码:

如下更改脚本。您可以在123后面附加name,也可以将
$(this).attr('name')
将属性值作为name。在连接api服务调用时,删除此
事件。preventDefault()

<script type="text/javascript">
        $('form').submit(function (event) {
        event.preventDefault();
         $('#username').map(function () {
          $(this).val($(this).attr('name') + '-123' + $(this).val());
           alert($(this).val());
          });
        });
  </script>

$('form')。提交(函数(事件){
event.preventDefault();
$('#username').map(函数(){
$(this.val($(this.attr('name')+'-123'+$(this.val());
警报($(this.val());
});
});
警报框中的输出:

username-123<value in input tag>
username-123
下面的用户名标签

<input type="text" name="username" value="" id="username" size="20" />

如下更改脚本

  $(document).ready(function () {
            $('input[type="submit"]').on("click", function (e) {
                $('#username').val(function (index, value) {
                    return value + '-123';
                })
                alert($('#username').val());
            });
        });

    </script >
$(文档).ready(函数(){
$('input[type=“submit”]”)。在(“单击”上,函数(e){
$('#username').val(函数(索引,值){
返回值+'-123';
})
警报($('#username').val());
});
});

您的HTML中没有
元素。你的意思是
[name=username]
?这绝对是一种享受!我可能需要稍微修改一下,这样隐藏的文本就会出现在用户名之前,但我希望这只是将其更改为'-rfq'+返回值;相反
  $(document).ready(function () {
            $('input[type="submit"]').on("click", function (e) {
                $('#username').val(function (index, value) {
                    return value + '-123';
                })
                alert($('#username').val());
            });
        });

    </script >