要在隐藏的输入字段jquery中更改的属性

时间:2013-01-24 01:25:58

标签: jquery forms wordpress

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

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

当我右键点击&gt;查看源值未更改。发送表单时,标题中也会发送错误的值。 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");
            });

1 个答案:

答案 0 :(得分: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