1

Safariを除くすべてのブラウザで正常に機能する登録フォームの設定があります。ほとんどの場合、Javascriptを扱う問題になるはずだと思いました。しかし、SafariでJavascriptをオフにした後も、データは投稿されていません。

フォームは次の場所にあります: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>
4

1 に答える 1

0

次のコード行が原因で問題が発生している可能性があります。

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

空のURLを指し、現在のページへのリンクのみを表示する「a」タグ内に送信ボタンタグをラップします。Safariはこのラップされたボタンを適切に解析せず、代わりに送信ボタンよりもAリンクを優先する可能性があります。

'input'タグをアンラップし、コードを次のように変更します。

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

うまくいくかもしれません。

于 2013-03-02T12:34:35.227 に答える