检索使用链接发布的值

时间:2013-02-14 09:31:09

标签: php html forms post

我正在尝试使用超链接提交表单,而不是将值发布到下一页。这是我的代码表单:

<?php
$email = array('name'=>'accountno','id'=>'accountno','value'=>set_value('email'));
 ?>    

<form method="post" id = "login_form" action="/salesrep/check" name = "login_form" class="custLogin">
<fieldset style="color: #BD1313; width: 440px;">  <input type="hidden" name="submit_type" id="submit_type" value="account_only">
<br><center><label for="customerNo"><b>Customer No:</b></label>
<?  echo form_input($email);?>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="/salesrep/check" class="shopping-icon" onclick="document.login_form.submit()">Submit</a><? echo form_input($button);?>   </center>
   <p>&nbsp;</p>
           </fieldset> 
   </form>

下一页的代码如下所示:

<?
print_array($_POST);
         die();
 ?>

当我在这里使用按钮时,它会成功地将值发布到下一页。但是我无法使用onclick事件上的超链接发布值。我在哪里弄错了? 当我已经在文本框中插入值时,为什么我得到空数组。或者有什么方法可以使用链接发布值并在下一页中检索它们

1 个答案:

答案 0 :(得分:0)

真正的问题在于您首先尝试使用链接和一些JavaScript来提交表单。不要这样做。按钮告知用户他们将提交表单。当它们处于表单模式时,它们将显示在屏幕阅读器中(某些JavaScript的链接不会)。他们“只是工作”。

如果你坚持使用链接和一些JavaScript,那么你的代码不起作用的原因是JavaScript运行,表单开始提交,然后跟随链接并向页面发出GET请求代替。

通常情况下,您可以在事件上调用preventDefault来停止此操作,但您使用的是旧式内部事件属性,因此您需要从那里return false;

推荐阅读:Progressive EnhancementUnobtrusive JavaScript