发布不在表单标记中的元素?

时间:2011-09-17 15:43:11

标签: php javascript

我有这样的代码:

<form enctype="multipart/form-data" method="POST" action="blabla.php" class="addToCart">
  <input type="button" onclick="addToCartMulti();" value="Add Tracks to Cart" id="addToCart" name="addToCart">
</form>

在表单标签之外,我有跟踪列表:

<ul>
 <li><input type="checkbox" checked onclick="onSongClick(this);" id="trackNr_1" name="trackSelect" class="trackSelectionCheck"> 1. Train Love</li><li>
  .....
</ul>

我希望能够发布表单并包含其他值。到目前为止,我对JavaScript有类似的东西:

function addToCartMulti() {
  $("input.trackSelectionCheck").each(function(index) {
              var track = $(this).attr("id");
              var start = 8;
              var end = track.length;
              track = track.substring(start,end);
              $("form.addToCart").submit();
        });
  }

所以问题是在此之前的某个地方:$("form.addToCart").submit();。我需要添加一些JavaScript来实际包含其他复选框,以便将它们发布到页面。

注意:我不想使用ajax。

1 个答案:

答案 0 :(得分:1)

向表单添加隐藏的表单字段,然后将所需的跟踪数据以您想要的任何格式(例如,逗号分隔的列表)复制到该隐藏字段中。然后像你现在一样调用提交。

注意:您似乎在“每个”循环中调用sumbit,这可能不是您想要的。您想要处理所有复选框,然后完成后,执行提交。所以“submit()”调用应该在每个循环之外,除非我误读你的意图。