2010-04-14 78 views
0

我有一个窗体上有两个按钮,一个是,一个不是,并且此时我将点击的按钮捕获到数据库中,但由于某种原因,它并不总是捕捉点击按钮,我已经通过我的所有代码消失了,似乎一切都很好,这里是表单提交捕获到数据库不工作

  <div id="mid_prompt"> 
      <form action="refer.php" method="post" onsubmit="return submit_form()" > 
      <div class="prompt_container" style="float: left;"> 
        <span class="prompt_item"><input type="image" src="images/yes.jpg" alt="submit" name="refer" value="yes" /></span> 
      </div> 
      </form> 

      <form action="thank_you.php" method="post" onsubmit="return submit_form()" > 
      <div class="prompt_container" style="float: right;"> 
        <span class="prompt_item"><input type="image" src="images/no.jpg" alt="submit" name="refer" value="no" /></span> 
      </div> 
      </form> 
     </div> 

我使用会话进行变量一路的形式结束,我那么写的所有形式数据到数据库,我检查了我的会话,他们似乎工作正常,唯一给出问题的是yes/no。

所以基本上我需要它捕捉是/否每次。

Thanx提前!

回答

1

如果有人点击“输入”提交表单,它将无法捕获此按钮。如果这是一个数据项,最好以不同的方式捕捉它,因为这只有在点击按钮或在点击回车之前聚焦按钮时才起作用。

敲击输入以提交表单是浏览器的默认行为,尽管基于表单大小和字段类型的一些变化(例如,textarea不会在输入时提交,但input type =“text”将提交在进入)。

也许添加一个复选框来捕获这个数据项。

+0

好吧,我明白了,thanx很多信息!我会尝试解决那个问题,并让你们贴出来! – Odyss3us 2010-04-14 14:52:55

0

你的db结构如何。列存储是布尔型还是整数(可能是1或0)或varchar(3)?你需要使用varchar(3)来存储“是”。你可以通过$ _POST ['refer']来捕获。

+0

它是varchar(3)捕获它为“是”或“否”,此刻我将它捕获为$ _POST ['参考']。 – Odyss3us 2010-04-14 14:51:14

0

注意IE < 8将忽略的“价值”的任何<input type="image">

属性没有一种变通方法,唯一的选择是不使用<input type="image">,或过载的name属性和检查特定的(注意你仍然需要一个值属性,否则一些浏览器将不会发送任何东西)

+0

或者您可以使用隐藏的输入值,并将表单提交到输入类型图像。 – 2010-04-14 14:08:28

+0

噢好吧,不知道,我会尝试添加隐藏的输入。 – Odyss3us 2010-04-14 14:52:05