2013-03-02 49 views
1

我有一个注册表单设置,它可以在所有浏览器上正常工作...除了Safari。 我认为它应该是一个处理Javascript的问题,因为它大部分是。但是,在Safari中关闭Javascript后,仍然没有发布数据。表单提交不发布Safari

形式是直播: http://tpgrf.nl/testserver/alpha/account/registreer/

我已经添加在页面顶部这段文字,进行测试,以确保数据是否已经被公布与否。

if($_SERVER['REQUEST_METHOD'] == 'POST'){ 
      echo 'post'; 
     }else{ 
      echo 'niets gepost'; 
     } 

任何想法在哪里寻找答案?

编辑:下面是形式(输出HTML)

<form name="registerform" id="registerform" action="http://tpgrf.nl/testserver/alpha/account/registreer/" method="post"> 
    <script type="text/javascript"> 
     jQuery(document).ready(function($) { 

      //Since we want users to login with there email; there's no need to also register a username. Therefore the username field = email field 
      $("#user_login").live('change', function(){ 
       $('#user_email').val($("#user_login").val()); 
      }); 

      //Display fields, depending on the selected role 
      $('#role').live('change', function(){ 
       if($('#role').val() === 'docent'){ 
        $('#messageRegisterDocent').show(); 
        $('#pKlas').hide(); 
       }else{ 
        $('#messageRegisterDocent').hide(); 
        $('#pKlas').show(); 
       } 
      }); 

      //The json call to automcplete School 
      var ajaxurl = 'http://tpgrf.nl/testserver/alpha/wp-admin/admin-ajax.php'; 
      $("#school").autocomplete({ 
       delay: 0, 
       minLength: 1, 
       source: function(req, response){ 
        $.getJSON('http://tpgrf.nl/testserver/alpha/wp-admin/admin-ajax.php?callback=?&action=school_autocomplete', req, response); 
       }, 
       select: function(event, ui){ 
        $('#school').val(ui.item.label); 
        $('#school_id').val(ui.item.school_id); 
       } 
      }); 


     }); 
    </script> 

     <p> 
      <input type="hidden" name="user_email" id="user_email" class="input" value="" size="20" /> 
     <p> 
      <label for="user_login">E-mail</label> 
      <input type="email" name="user_login" id="user_login" class="input" value="" size="20" /> 
     </p> 
    <p> 
     <label>Voornaam</label> 
     <input id="first_name" type="text" size="25" value="" name="first_name" /> 
    </p> 
    <p> 
     <label>Achternaam</label> 
     <input id="last_name" type="text" size="25" value="" name="last_name" /> 
    </p> 
    <p> 
     <label>Ik ben...</label> 
     <select name="role" id="role"> 
      <option value="">...selecteer</option> 
      <option value="leerling" >Leerling</option> 
      <option value="docent" >Docent</option> 
     </select> 
     <p class="message" id="messageRegisterDocent" style="display:none;"><strong>Let op:</strong> registreer met uw e-mailadres van de school waar u werkzaam bent. <br />Voor een aantal functies vindt namelijk handmatige autorisatie plaats; dit is niet mogelijk met een privé e-mailadres.</p> 
    </p> 
    <p> 
     <label>Mijn school</label> 
     <input type="text" id="school" class="autoComplete" size="25" value="" name="school" /> 
     <input type="hidden" id="school_id" name="school_id" value=""> 
    </p> 
    <p id="pKlas"style="display:none;"> 
     <label>Mijn klas</label> 
     <input type="text" id="klas" size="25" value="" name="klas" /> 
    </p> 
     <p id="reg_passmail">U zult een wachtwoord per e-mail ontvangen.</p> 
     <p class="submit"> 
      <a href=""><input type="submit" name="wp-submit" id="wp-submit" value="Registratie" /></a> 
      of <a href="/account/login">Ik heb al een account...</a> 
      <input type="hidden" name="redirect_to" value="/testserver/alpha/account/login/?checkemail=registered" /> 
      <input type="hidden" name="instance" value="" /> 
     </p> 
    </form> 
+0

你可以发表这个表格吗?也许你在表单中添加了“method =”post“”的形式 – Perry 2013-03-02 12:21:16

+0

有什么问题吗? – Misters 2013-03-02 12:25:37

+0

为了改进你的代码,考虑为你的事件处理程序使用jQuery.on(),jQuery.live()已被弃用,因为jQuery 1.7 – thaJeztah 2013-03-02 12:51:04

回答

0

你的问题可能是由下面的代码行造成的:

<a href=""><input type="submit" name="wp-submit" id="wp-submit" value="Registratie" /></a> 

您缠绕提交内部按钮标记的“A”标签,它指向一个空的URL并且仅导致到当前页面的链接。这可能是Safari不能很好地解析这个包装好的按钮,而是更喜欢通过提交按钮的A链接。

解缠 'input' 标签和代码更改为:

<input type="submit" name="wp-submit" id="wp-submit" value="Registratie" /> 

可能会奏效。

+0

Wauw。真正的好想法。完全错过了。认为我只是在这个代码上做了太多的调整。太感谢了! – 2013-03-02 12:47:27