2012-06-05 42 views
2

我尝试了几个不同的提交按钮,但似乎无法使其正常工作。使用图像提交表单问题

<form id="logForm" action="<?php $retpage; ?>" method="POST" name="logForm"> 
    <div> 
     <table width="400px" border="0" cellpadding="4" cellspacing="4" class="loginform"> 
      <tr> 
       <td colspan="2"> 
       </td> 
      </tr> 
      <tr> 
       <td width="28%">Email:</td> 
       <td width="72%"> 
        <input name="usr_email" type="text" class="required" id="txtbox" size="25" value="<?php 
if(isset($_COOKIE['user_name'])){ 
      print ($_COOKIE['user_name']); 
} else if(isset($_POST['usr_email'])){ 
      print ($_POST['usr_email']); 
} else { 
      print '';} ?>"> 
       </td> 
      </tr> 
      <tr> 
       <td>Password:</td> 
       <td><input name="pwd" type="password" class="required password" id="txtbox" size="25"></td> 
      </tr> 
      <tr> 
       <td colspan="2"> 
        <div align="center"> 
         <input name="remember" type="checkbox" id="remember" value="1"> Remember me 
        </div> 
       </td> 
      </tr> 
      <tr> 
       <td colspan="2"> 
        <div align="center"> 
         <p><input name="doLogin" type="image" id="doLogin" value="Login" src="images/login.png" style="vertical-align: middle; height: 30px; width: 66px;" onsubmit="document.logForm.submit(); return false;" /></p>   
         <p><a href="signup.php">Register Free</a><font color="#FF6600">|</font> <a href="forgot.php">Forgot Password</a> <font color="#FF6600"></font></p> 
        </div> 
       </td> 
      </tr> 
     </table> 
    </div> 
</form> 

当我使用下面的提交按钮,它工作正常,但我想使用图像提交。上述登录按钮不起作用。

<input name="doLogin" type="submit" id="doLogin" value="Login"> 

有什么建议吗?

回答

3

取出onsubmit属性,只需使用:

<input type="image" src="foo.png" /> 

当点击这将提交表单。

小提琴:http://jsfiddle.net/jonathansampson/q3SN8/

此外,你不打印你的行动:

action="<?php $retpage; ?>" // should be <?php echo $retpage; ?> 
+0

我将它改为:仍然不提交 –

+0

@DJHowarth你也没有打印出你的'$ retpage'变量。 – Sampson

+0

如果我打印变量,则没有任何表单会提交 –

1

或者jQuery的:

<img src="images/login.png" class="submitImage"> 

<script> 
    $(".submitImage").click(function() { 
     $("#logForm").submit();  
    }); 
</script> 

OFC,把这个介乎你的HTML页面的标签:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> 
0

我有这个顶部:

if ($_POST['doLogin']=='Login') 

{ PHP & MySQL代码 }

我接过了这一点,它工作正常。

我现在的问题是,为什么JavaScript不是发布doLogin?

+0

JS应该发布“logForm”,“doLogin”只是提交按钮,因为我可以看到。 – SomeoneS