为函数添加唯一的FORM名称或ID

时间:2010-12-06 16:18:21

标签: javascript jquery

有没有办法将表单名称或ID添加到此函数以使其唯一?我有一个显示5个表单的循环过程,我需要这段编码对每个表单都是唯一的。

<script type="text/javascript"> 
    $(function() { 
        $("input, select, textarea, checkbox, radio").autosave({ 
            url: "/js/autosave/autosave.php", 
            method: "post", 
            grouped: false, 
            success: function(data) { 
                $("#message").html("Data updated successfully"); 
            }, 
            send: function(){ 
                $("#message").html("Sending data..."); 
            }, 
            dataType: "html" 
        });         
    }); 
</script>

表格

<form action="/js/autosave/autosave.php" method="post"> 
<fieldset> 
<label for="name">Name:<input type="text" name="word" id="word" value="<?php echo $row['word'] ?>"/></label> 
<label for="email">Email:<input type="text" name="type" id="type" value="<?php echo $row['type'] ?>" /></label> 
<input type="hidden" name="id" value="<?php echo $row['Id'] ?>" /> 
<input type="submit" value="Save changes" /> 
</fieldset> 
</form> 

3 个答案:

答案 0 :(得分:1)

根据您更新的问题...

$(function() { 
    var formCounter = 0;
    $("form:not([id])").each(function(){
        $(this).attr("id", "form_" + formCounter);
        formCounter++;
    });
}

答案 1 :(得分:1)

您可以在自动保存中引用$(this)来获取调用者并查询其父级(并为每个调用者添加属性或某些识别特征)

答案 2 :(得分:1)

$(function(){
    $('form').each(function(){
        $(this).find('input, select, textarea, checkbox, radio').autosave({
            url: "/js/autosave/autosave.php", 
            method: "post", 
            grouped: false, 
            success: function(data) { 
                $("#message").html("Data updated successfully"); 
            }, 
            send: function(){ 
                $("#message").html("Sending data..."); 
            }, 
            dataType: "html" 
        });
    });
});

上面的代码分别为每个表单添加了自动保存功能,这可以解决您的问题。