0

我得到了这样的 HTML:

<table>
    <form action=\'food.php\' method=\'POST\'>
    <tr><h4>
        <td><span><input type="submit" name="food_edit" class="food_edit" value="Edytuj" /></span></td>
       </h4>
    </tr>
    </form>
</table>

然后是 jQuery 中的一个函数,它改变输入字段:

wrap.find('.food_edit')
    .replaceWith('<input type=\'submit\' name=\'food_edit_confirm\' value=\'Potwierdź\' />');

我的问题是更改提交按钮后,发送表单不起作用。

4

4 回答 4

0

您需要在特定的 jquery 代码周围使用 $( document ).ready() ,或者您可以尝试使用 .attr 来更改类的属性,或者您可以使用“focus”来环绕它。或者你可以做类似的事情

$('form').live('submit',function(){
// do the rest of ur code and then submit it....
});
于 2013-07-26T17:02:32.110 回答
0

您的 HTML 无效。它应该如下所示:

<form action=\'food.php\' method=\'POST\'>
    <table>
        <tr>
            <td>
                <span>
                    <input type="submit" name="food_edit" class="food_edit" value="Edytuj" />
                </span>
            </td>
        </tr>
    </table>
</form>

如果您要添加确认,则应查看标签onsubmit=""中的。<form>

例子:

<form action=\'food.php\' method=\'POST\' onsubmit=\'return checkForm();\'>
    <table>
        <tr>
            <td>
                <span>
                    <input type="submit" name="food_edit" class="food_edit" value="Edytuj" />
                </span>
            </td>
        </tr>
    </table>
</form>

JS代码:

function checkForm() {
    return confirm("Submit this form?");
}
于 2013-07-26T17:04:21.073 回答
0
<script type="text/javascript">
$(function(){
$('.food_edit').replaceWith("<input type='submit' name='food_edit_confirm' value='Potwierdz' onclick='document.getElementById(\"submit\").click();' />");

});
</script>


<form action='food.php' method='POST'>
        <input type="submit" name="food_edit" class="food_edit" value="Edytuj" onclick="document.getElementById('submit').click();" />
        <input type="submit" style="display:none" id="submit" />
    </form>

无论您对可替换的提交按钮执行任何操作,隐藏按钮都会提交表单。

于 2013-07-26T17:20:29.603 回答
0

您可以在更换提交按钮后尝试此操作:

$('form').on('click','input[type=submit]',function(){
   //rest of code goes here.
});
于 2013-07-26T16:59:07.737 回答