【问题标题】:attribute to change in a hidden input field jquery在隐藏的输入字段 jquery 中更改的属性
【发布时间】:2013-01-24 01:25:58
【问题描述】:

我无法在隐藏的输入字段中更改 value 属性。我有一个带有以下 HTML 的表单:

<input type="hidden" name="caitlinisdabomb" id="caitlinisdabomb" value="no" />

当我右键单击 > 查看源代码时,值没有改变。发送表单时,也会在标题中发送不正确的值。 console.log("im human " + document.getElementById("caitlinisdabomb").value) 应该记录为“im human yes”。是什么赋予了?是因为动态生成的表格吗?所有文件都在这里:alluringassets.com/slick-contact-forms.rar

console.log("I work");
            function markAsHuman() 
            {
                $('#caitlinisdabomb').val('yes');
                //document.getElementById("caitlinisdabomb").value = 1;
                console.log("im human " + document.getElementById("caitlinisdabomb").value);
            }


            $(".slick-form").on("focus", function()  {
                markAsHuman();
            });

            $(".slick-form").on("click", function()  {
                markAsHuman();
                console.log("you clicked");
            });

【问题讨论】:

    标签: jquery forms wordpress


    【解决方案1】:

    .slick-form 元素何时出现?你是用页面加载它还是异步加载它?

    即你的例子,不等待DOM准备好,即$(document).ready(function() { //look for elements in the dom structure });

    尽快这样做$(".slick-form") 可能还为时过早...除非您在调试器中的该行上设置断点,否则您不会看到这样做的问题。

    如果您是异步执行的,那么您可能需要在该 ajax 函数的成功回调上应用 click 事件..

    通常喜欢这种东西:

    $.ajax({
        type: "GET",
        url: '/blah',
        data: formData,
        success: function (data) {
            // the callback, add click event now that form will exist in DOM
        }
    });
    

    或考虑其他方法来实现它,例如这个例子:

    jquery functions dont work on dom elements loaded asynchromously

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-28
      • 2011-10-21
      • 2013-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-02
      • 1970-01-01
      相关资源
      最近更新 更多