我无法从使用jquery的多个表单中捕获数据

时间:2013-11-29 15:21:21

标签: php jquery

我在这里有这个代码,我无法弄清楚我做错了什么。

http://jsfiddle.net/m9hT6/

我无法将“删除”链接工作,更重要的是当我将“发布”发送给另一个时 用PHP处理的页面,我无法从连续的表单中创建数据到变量。

<html>
  <head>
    <style media="screen" type="text/css">

      * { font-family:Arial; }
      h2 { padding:0 0 5px 5px; }
      h2 a { color: #224f99; }
      a { color:#999; text-decoration: none; }
      a:hover { color:#802727; }
      p { padding:0 0 5px 0; }

      input { padding:5px; border:1px solid #999; border-radius:4px; -moz-border-radius:4px; -web-kit-border-radius:4px; -khtml-border-radius:4px; }
    </style>

    <title>test</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js" type="text/javascript">

    </script>
  </head>
  <body>


    <script>
      $(function() {
        var scntDiv = $('#p_scents');
        var i = $('#p_scents p').size() + 1;

        $('#addScnt').live('click', function() {
          $('<label for="ticketCantidad"><input type="text" id="ticketCantidad" size="20" name="ticketCantidad' + i + '" value="" placeholder="Valor de Tickets" /></label> <a href="#" id="remScnt">Remove</a>').appendTo(scntDiv);
          i++;
          $('<label for="ticketValue"><input type="text" id="ticketValue" size="20" name="ticketValue' + i + '" value="" placeholder="Cantidad de Tickets" /></label> <a href="#" id="remScnt">Remove</a><p></p>').appendTo(scntDiv);
          i++;
          return false;
        });

        $('#remScnt').live('click', function() {
          if (i > 2) {
            $(this).parents('p').remove();
            i--;
          }
          return false;
        });
      });

    </script>
    <form action="testProces.php" method="POST" name="testForm">


      <h1>Ticket Restaurante</h1> 
      <h2><a href="#" id="addScnt">Otro formulario</a></h2>

      <div id="p_scents">
        <p>

        </p>
      </div>

      <h1>Cheque Gourmet</h1> 
      <input name="submit" type="submit">
    </form>

  </body>
</html>

1 个答案:

答案 0 :(得分:0)

至于删除链接,

$('#remScnt').live('click', function() {
      if (i > 2) {
        $(this).parents('p').remove();
        i--;
      }

有几个问题。

一,jquery没有函数.parents() - 元素每个只有一个父元素,所以它是parent

接下来,您只能在页面上拥有给定ID的一个元素。你已经给了几个ID为'remScnt'的项目。把它改成一个班级。

接下来,在parent()调用中不需要'p'。 尝试

    $(this).parent().remove();