我有一个表单,我希望使用_POST
数据来提交复选框值。我的问题是我当前页面中已有帖子值。当我提交表单时,它会返回当前的帖子值而不是我想要的值,这会给我Notice: Undefined index
消息。
基本上,此表单用于比较所选产品,但在当前帖子值中,它包含产品信息以及按值排序。有没有办法单独提交我的新表格的信息?
谢谢
修改
嗯,这是关于我的代码的事情,我正在使用名为Virtuemart的购物车。我已添加下面的代码减去所有其他不影响表单的东西。
产品文件
// Code here for Template file for individual items in category
//creating checkbox for comparison form
echo "<input type =\"checkbox\" name=\"fruit[]\" value=\"".$product_sku."\" />
<label for=\"".$product_name."\"> ".$product_name."</label>";
类别文件
//all other forms on this page
<form action="items/index.php" method="get" name="results" target="_blank">
<input class="inputbox" name="search" id="item-search" type="text" value="Search"></td><td>
<input type="image" class="sub-button" src="/search.png" alt="submit" name="submit" value="search">
</form>
<form action="index.php" method="get" name="order">
Sort by:
<select class="inputbox" name="orderby" onchange="order.submit()">
<option value="product_list" >Select</option>
<option value="product_name" selected="selected">Product Name</option>
<option value="product_price" >Price</option>
<option value="product_cdate" >Latest Products</option>
</select>
<script type="text/javascript">//<![CDATA[
document.write(' <input type="hidden" name="DescOrderBy" value="ASC" /><a href="javascript: document.order.DescOrderBy.value=\'DESC\'; document.order.submit()"><img src="images/sort_asc.png" border="0" alt="Ascending order" title="Ascending order" width="12" height="12" /></a>');
//]]></script>
<noscript>
<select class="inputbox" name="DescOrderBy">
<option value="DESC">Descending order</option>
<option selected="selected" value="ASC">Ascending order</option>
</select>
<input class="button" type="submit" value="Submit" />
</noscript>
<input type="hidden" name="Itemid" value="89" />
<input type="hidden" name="option" value="com_virtuemart" />
<input type="hidden" name="page" value="shop.browse" />
<input type="hidden" name="category_id" value="0" />
<input type="hidden" name="manufacturer_id" value="0" />
<input type="hidden" name="keyword" value="" />
<input type="hidden" name="keyword1" value="" />
<input type="hidden" name="keyword2" value="" />
<div id='limitbox'> Display #
<select class="inputbox-reg" name="limit" size="1" onchange="this.form.submit();">
<option value="6" >6</option>
<option value="18" >18</option>
<option value="30" >30</option>
</select>
<input type="hidden" name="limitstart" value="0" /></div> <noscript><input type="submit" value="Submit" /></noscript>
<!-- PAGE NAVIGATION AT THE TOP <br/>
<div style="text-align:center;"> </div>
-->
</form>
// all other forms end
表单我想传递
中的值echo"<form method=\"POST\" name=\"compare\" id=\"compare\" action=\"http://localhost/comparepage/\">";
//TEMPLATE FILE HERE THAT GENERATE PRODUCTS FROM PRODUCT FILE CODE ABOVE.
//Basically it has foreach statements to generate all products
echo "<input type=\"submit\" name=\"submit\" value=\"Compare\" onClick=\"document.compare.submit()\" >";
echo "</form>";
我已将POST
更改为GET
只是为了获取正在传递的值,在下一页中,我在网址中看到了一堆值。
答案 0 :(得分:0)
尝试将第二个表单的字段放在单独的&lt; form&gt;中标签
表格1:
<form method='post' action='/process.php'>
<input name='town' type='text'/>
<input name='country' type='text'/>
<input type='submit'/>
</form>
表格2:
<form method='post' action='/process.php'>
<input name='gender' type='text'/>
<input name='state' type='text'/>
<input type='submit'/>
</form>
如果您提交表单1,$ _POST将包含城镇,国家/地区 如果您提交表单2,$ _POST将包含性别&amp;状态
答案 1 :(得分:0)
正如所建议的那样,一些代码和更多细节会有所帮助。但是,如果您在同一页面上有多个表单字段,并且根据操作,您希望提交这些字段的不同集合,那么只需将它们包装在不同的<form></form>
元素中。 POST提交仅提交包含该特定块的表单字段。
所以你可以:
<form name='form1' method='POST' action='#'>
<input type='hidden' name='field1' value='true' />
<input type='submit' name='submit' value='Submit' />
</form>
<form name='form2' method='POST' action='#'>
<input type='hidden' name='field1' value='false' />
<input type='submit' name='submit' value='Submit' />
</form>
如果点击了第一个提交按钮,$_POST['field1'] = 'true', else = 'false'