jQuery的验证问题与表单内的表单(jQuery Validation Issue with a

2019-10-16 23:42发布

这是一个奇数之一。 我有我的设置像这样..

<form id="main">
    <input name="title" class="required">
    <form id="searchIngredient">
          <input name="search">
          <input type="submit" name="submit" value="Search">
    <form>
    <input type="submit" name="submit" value="Add New Recipe">
</form>

现在,我想只用输入的在#main形式“所要求的”类=但是与表单中的第二#serachIngredient形式,确认没有在所有的工作来验证。

柜面你想知道 :该#searchIngredient形式使用Ajax返回结果,并由于设计,它需要在#main形式之内。

我知道jQuery验证作品,未经#searchIngredient形式,但一旦我重新添加它,它停止工作,没有任何错误。

任何建议的解决办法或建议吗?

Answer 1:

我有同样的问题,我的解决方案(因为我不能没有嵌套的形式做的)是:

<form id="main">
    <input name="title" class="required">
    <form id="searchIngredient">
          <input name="search">
          <a href="#" class="submit-link"></a>
    <form>
    <input type="submit" name="submit" value="Add New Recipe">
</form>

然后我勾类提交,并尽我的AJAX的东西

$(document).on('click', 'form a.submit-link', function(e){
  e.preventDefault();
  var form = $(this).parents('form').first();
  var search = form.find('input[name="search"]').val();
  jQuery.post('my_ajax_url.php', {search: search)}, function(data, status, xhr) {
    // deal response
  });
});


Answer 2:

这是不可能的。 嵌套形式在HTML支持。

对于内部形式的开始标记将被忽略,而内在形式的结束标记将转而结束的外形,更让形式外提交按钮。

你可以有很多形式,你在网页等,但不嵌套在彼此。



Answer 3:

我是因为嵌套形式不作HTML嵌套形式支持将被忽略,同样的问题,但它看起来像只有第一嵌套表格将被忽略,以便jQuery的表单验证我尝试添加嵌套的主要形式后,然后我想补充的形式我想验证并能正常工作。

<form id="main">
<form>
</from>
    <input name="title" class="required">
    <form id="searchIngredient">
          <input name="search">
          <input type="submit" name="submit" value="Search">
    <form>
    <input type="submit" name="submit" value="Add New Recipe">
</form>


文章来源: jQuery Validation Issue with a form inside a form