【问题标题】:Input value hidden输入值隐藏
【发布时间】:2013-08-18 14:18:12
【问题描述】:

我有这个输入:

<input id="tag1" type="text" name="tags" class="tags" value="@Model.list" />

我想在隐藏的输入中获取这个输入值,所以我使用了这个:

<input type="hidden" name="tag" value="tags" />

我没有得到第一个输入的真值,而是得到字符串“tags”!您能告诉我如何获得隐藏输入中第一个输入的真实值吗?谢谢!

编辑:实际上这是一个提交页面,用户在#tag1 中输入标签,当他点击提交时,我想将这些标签发送到我的控制器,这就是我使用隐藏输入的原因...... 我的完整代码:

<form>
        <p>
        <input id="tag1" type="text" name="tags" class="tags" value="@Model.list" onblur="setValue()"; /></p>
        <script>
            $('#tag1').tagsInput({
                // my parameters here
            });

        </script>
<style>
#wrapper { 
margin: 20px;    
}


</style>



    <p>
        <input type="submit" value="Create" />
        <input type="hidden" name="taggg" id="tag2" />
        <script type="text/javascript">
            function setValue() {

                document.getElementById("tag2").value = document.getElementById("tag1").value;
            }

            window.onload = setValue;
        </script>


    </p>


    </form>

【问题讨论】:

  • 我猜有一些 JavaScript。试一试。但是你为什么想要那个?那不就是一样吗?
  • 您对隐藏的理解是什么?你的意思是类似于密码还是你的意思是输入字段必须是不可见的?
  • 您需要使用 Javascript..您已将值作为输入类型 = 隐藏的标签。显然您将获得您为该隐藏输入提供的值..使用 javascript 并且您可以分配隐藏输入字段的值...
  • 下面提供的答案是否解决了您的问题?如果您希望隐藏字段仅在提交时具有第一次输入的真实值,请在提交按钮的onclick 事件中调用该函数。

标签: javascript html html-input


【解决方案1】:

我不明白您为什么要将一个输入字段的值复制到另一个(尽管是隐藏的)。但如果这是您想要做的,请尝试使用以下代码。

附加到输入字段的onblur 事件的函数会在失去焦点时将输入字段的值设置为隐藏字段。

window.onload = setValue 将在页面加载时执行相同的操作。

HTML

<input id="tag1" type="text" name="tags" class="tags" value="@Model.list" onblur="setValue();" />
<input type="hidden" name="tag" value="tags" id="tag1_hidden" /> <!-- Note the addition of an id attribute -->

JavaScript

function setValue() {
    document.getElementById("tag1_hidden").value = document.getElementById("tag1").value;
}

window.onload = setValue;

【讨论】:

  • 谢谢!第一个输入#tag1 是一个 Jquery 标签输入 (xoxco.com/projects/code/tagsinput),因此当页面加载时,输入 (@Model.list) 中有 5 个标签。用户可以删除当前标签或添加新标签。问题是每次,在隐藏的输入#tag2 中,即使用户删除了所有标签并插入了新标签,我也会得到@Model.list!知道为什么#tag1 值不会改变并且始终是@Model.list 吗?非常感谢哈利 :)
  • 您是否按照我的回答在表单的onsubmit 或输入字段的onblur 上调用了该函数?我可以看看你的完整代码吗?有链接吗?
  • 我只调用了onblur,代码很长,但我会在上面的Edit中只展示这部分:)
  • Harry 我将 onlick 事件添加到提交按钮,它起作用了!再次感谢您
【解决方案2】:

您可以这样做(并且您需要 javascript)。

为您的隐藏输入提供一个 ID,例如:

<input type="hidden" id="hidden_input" name="tag" value="tags" />

然后在需要时使用/粘贴此代码:

var input_value = document.getElementById('tag1').value;
document.getElementById('hidden_input').value = input_value;

【讨论】:

    【解决方案3】:

    试试这个

    <input id="tag1" type="text" name="tags" class="tags" value="@Model.list" />
    <input type="hidden" name="tag" value="tags" id="tag2" />
    

    jquery:

    $("#tag2").val($("#tag1").val());
    

    $("#tag1").blur(function() {
      $("#tag2").val($(this).val());
    });
    

    【讨论】:

      猜你喜欢
      • 2021-06-29
      • 2013-11-17
      • 2013-08-18
      • 2014-10-19
      • 2011-05-21
      • 1970-01-01
      • 1970-01-01
      • 2023-03-22
      相关资源
      最近更新 更多