我正在尝试使用超链接提交表单,而不是将值发布到下一页。这是我的代码表单:
<?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);?>
<a href="/salesrep/check" class="shopping-icon" onclick="document.login_form.submit()">Submit</a><? echo form_input($button);?> </center>
<p> </p>
</fieldset>
</form>
下一页的代码如下所示:
<?
print_array($_POST);
die();
?>
当我在这里使用按钮时,它会成功地将值发布到下一页。但是我无法使用onclick事件上的超链接发布值。我在哪里弄错了? 当我已经在文本框中插入值时,为什么我得到空数组。或者有什么方法可以使用链接发布值并在下一页中检索它们
答案 0 :(得分:0)
真正的问题在于您首先尝试使用链接和一些JavaScript来提交表单。不要这样做。按钮告知用户他们将提交表单。当它们处于表单模式时,它们将显示在屏幕阅读器中(某些JavaScript的链接不会)。他们“只是工作”。
如果你坚持使用链接和一些JavaScript,那么你的代码不起作用的原因是JavaScript运行,表单开始提交,然后跟随链接并向页面发出GET请求代替。
通常情况下,您可以在事件上调用preventDefault
来停止此操作,但您使用的是旧式内部事件属性,因此您需要从那里return false;
。