別フォームを作ってサブミットすれば実現できると思いますが
普通は、受け取った側で判断することです
sample
一応サンプルだけつけておきます
javascript
1document.addEventListener('submit',function(e){
2 var dummy=document.querySelector('#dummy');
3 if(dummy) dummy.parentNode.removeChild(dummy);
4 var t=e.target;
5 if(t.name=="order"){
6 e.preventDefault();
7 var f=t.cloneNode(true);
8 f.style.display="none";
9 console.log(f);
10 f.setAttribute("id","dummy");
11 for(var i=f.elements.length-1;i>=0;i--){
12 var ele=f.elements[i];
13 if(ele.type=="text" && (ele.value=="" || ele.value=="0")){
14 ele.parentNode.removeChild(ele);
15 }
16 }
17 document.querySelector('body').appendChild(f);
18 f.submit();
19 };
20});
21
HTML
1<body>
2<form name="order" method="post">
3<input type="text" name="item1" value="">
4<input type="text" name="item2" value="">
5<input type="text" name="item3" value="">
6<input type="text" name="item4" value="">
7<input type="text" name="item5" value="">
8<input type="text" name="item6" value="">
9<input type="submit" value="買い物かごに入れる">
10</form>
11</body>
ペアを消す
javascript
1<?PHP
2print_r($_POST);
3?>
4<script>
5document.addEventListener('submit',function(e){
6 var dummy=document.querySelector('#dummy');
7 if(dummy) dummy.parentNode.removeChild(dummy);
8 var t=e.target;
9 if(t.name=="order"){
10 e.preventDefault();
11 var f=t.cloneNode(true);
12 f.style.display="none";
13 console.log(f);
14 f.setAttribute("id","dummy");
15 for(var i=f.elements.length-1;i>=0;i--){
16 var ele=f.elements[i];
17 if(ele.type.match(/text/) && (ele.value.match(/^0?$/))){
18 ele.parentNode.removeChild(ele);
19 if(r=ele.name.match(/^(item_)(\d+)$/)){;
20 var pair=f.elements[r[1]+"no_"+r[2]];
21 if(pair) pair.parentNode.removeChild(pair);
22 }
23 }
24 }
25 document.querySelector('body').appendChild(f);
26 f.submit();
27 };
28});
29</script>
30<body>
31<form name="order" method="post">
32<input type="text" name="test" value="">
33
34
35<input type="text" name="item_01" value="">
36<input name="item_no_01" type="hidden" value="000001" />
37
38<input type="text" name="item_02" value="">
39<input name="item_no_02" type="hidden" value="000201" />
40
41<input type="text" name="item_03" value="">
42<input name="item_no_03" type="hidden" value="030001" />
43
44<input type="text" name="item_04" value="">
45<input name="item_no_04" type="hidden" value="000003" /><input type="submit" value="買い物かごに入れる">
46</form>
47</body>
48