Ajax触发实时和动态表单

时间:2017-09-17 17:02:56

标签: javascript jquery ajax live

假设我有这样的代码:

<div id="stuff<? echo $dynID; ?>" class="bla">
 <form id="myform<? echo $dynID; ?> " action="bla.php">
    <input name="iname<? echo $dynID; ?>" value="<? echo $row[1]; ?>">
 </form>
</div>

<div id="stuff<? echo $dynID; ?>" class="bla">
 <form id="myform<? echo $dynID; ?> " action="bla.php">
    <input name="iname<? echo $dynID; ?>" value="<? echo $row[1]; ?>">
 </form>
</div>

<div id="stuff<? echo $dynID; ?>" class="bla">
 <form id="myform<? echo $dynID; ?> " action="bla.php">
    <input name="iname<? echo $dynID; ?>" value="<? echo $row[1]; ?>">
 </form>
</div>

许多表格。在这个例子中3.(可能或多或少)

如何触发此表单(使用AJAX发送ist)?此表单是实时AJAX生成的内容,并具有动态ID。我现在没有触发表单的特定ID,如:

$("#myform").submit(function(event) {

我怎么处理这个?

1 个答案:

答案 0 :(得分:1)

我们可以使用更多信息来进一步提供帮助,例如,与其他表格相比,此表格(任何一种)中的文字是唯一的吗?你可以基本上任何东西来定位它,甚至可以结合这些条件。例如,如果action属性是唯一的,你总是可以做这样的事情(未经测试):

//if the form id starts with 'myform', perform a function on submit
$("form[id^='myform']").submit(function(event) {
    //if that form's 'action' attribute is 'bla.php', then do something
    if($('form').attr('action', 'bla.php')){
        //your code here
    }
});

修改 这种独特性足以阻止它吗?我已经让它依赖于上面的div,其id的开头是&#39; stuff,#div还必须有class&#39; bla&#39;以及&#39; action&#39;的表单属性必须是&#39; bla.php&#39;

$("div[id^='stuff'] form[id^='myform']").submit(function(event) {
    if($(this).parent().hasClass('bla')) {
        if($(this).attr('action', 'bla.php')){
            //your code here
        }
    }
});