【问题标题】:Javascript question: How do I duplicate user input into a hidden field?Javascript 问题:如何将用户输入复制到隐藏字段中?
【发布时间】:2010-11-15 05:03:58
【问题描述】:

在安装了 jquery 的网站上,如何将文本类型输入元素的输入以相同的形式传递给隐藏的输入元素?

【问题讨论】:

  • 什么时候?在他们打字的时候?当他们提交表单时?​​span>
  • 为什么:一个字段用于按类别对文章进行分组,该表单允许用户输入新的类别,其中标题=文章类别。什么时候:需要和表单一起提交——这两个字段都需要在数据库表中创建新记录。

标签: javascript jquery input hidden-field


【解决方案1】:

如果input_1 是您要填充的输入的ID,而input_2 是您要 填充的ID,请使用:

$("#input_1").val($("#input_2").val())

【讨论】:

  • 你应该把它放在某种事件下,比如“提交”或“keyup”吗?
  • $('input_2').keyup(function(){ $('#input_1').val($('#input_2').val());});
  • 我用keyup事件尝试了这段代码,但我仍然无法在隐藏字段中提交任何数据。我看不出我做错了什么。
  • 试着判断是事件还是函数代码。您也可以将其放在表单的 onsubmit 事件中以减少开销。我也相信这个事件更可靠,因为我自己在捕捉 keyup 事件时遇到了一些麻烦,但我还没有完全调查原因。
  • 我对 Javascript 不是很熟悉。如何确定问题出在事件代码还是函数代码中?这是一个我想保持同步的两个输入字段的示例:designop.us/jtk-temp/21.htm 如果您发现我的代码中有任何错误,或者您能否告诉我如何将输入从第一个输入元素传递到另一个输入元素,请告诉我.谢谢!
【解决方案2】:
$("#id_of_hidden_input").val($("#id_of_text_input").val());

【讨论】:

    【解决方案3】:

    假设每种类型只有一个字段:

    $('input[type=hidden]').val($('input[type=text]').val())
    

    如果你有更多的添加 ID 到选择器

    【讨论】:

      【解决方案4】:

      文本改变时触发:

      $("#text_id").change(function(){
        $("#hidden_id").val($("#text_id").val())
      });
      

      表单提交时触发:

      $("#form_id").submit(function(){
        $("#hidden_id").val($("#text_id").val())
      });
      

      查看其他jQuery Events

      【讨论】:

      • 表单id每次由脚本唯一生成。我尝试了text-change触发方法,在#hidden_​​id字段中提交的任何数据都无法获取。这是否依赖于某个版本的 jquery?我的脚本标签链接到ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js
      • 文本更改事件有点棘手。在文本框失去焦点之前,通常不会认为文本已更改。我不确定是否在更改文本框时触发了事件,然后在没有文本框首先失去焦点的情况下提交表单。为什么在接收 GET 或 POST 请求的脚本中提交表单后不能复制值?
      猜你喜欢
      • 2023-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-20
      • 1970-01-01
      相关资源
      最近更新 更多