2014-10-01 5 views
0

Я пытаюсь автоматически отправить форму входа, используя javascript, но не может начать сеанс и перенаправить на ту же страницу, но когда я пытаюсь отправить ту же форму без работы javascript, она работает. Мне нужно отправить форму автоматически. Любое предложение?Автоматическая отправка формы входа и начало сеанса

<?php include('_header.php'); ?> 
    <form id="my_form" method="post" action="index.php" name="loginform"> 
     <label for="user_name"><?php echo WORDING_USERNAME; ?></label> 
     <input id="user_name" type="text" value="something" name="user_name" required /> 
     <label for="user_password"><?php echo WORDING_PASSWORD; ?></label> 
     <input id="user_password" type="hidden" value="something1" name="user_password" /> 
     <input type="checkbox" id="user_rememberme" name="user_rememberme" value="1" /> 
     <label for="user_rememberme"><?php echo WORDING_REMEMBER_ME; ?></label> 
     <input type="submit" name="login" value="<?php echo WORDING_LOGIN; ?>" /> 
    </form> 
    <script type="text/javascript"> 
     function submitForm() { 
      document.getElementById('my_form').submit(); 
     } 
     window.onload = submitForm; 
    </script> 
    <a href="register.php"><?php echo WORDING_REGISTER_NEW_ACCOUNT; ?></a> 
    <a href="password_reset.php"><?php echo WORDING_FORGOT_MY_PASSWORD; ?></a> 
<?php include('_footer.php'); ?> 
+0

Что означает «использование java, но не может начать сеанс и перенаправить на ту же страницу» означает? –

+1

Я предполагаю, что это означает 'javascript'. – DS9

+0

привет ВЫ используете JAVA или PHP? –

ответ

1

Если вы хотите автосабмит своей формы, на странице визите вы просто поставить этот код после вашей формы:

<script> 
    document.getElementById('my_form').submit(); 
</script> 
+0

Он использует jQuery, он может просто просто '$ ('# my_form'). Submit();' – SpYk3HH

+0

getElementById примерно на 90% эффективнее jQuery. Во всяком случае, результат будет таким же, и не имеет значения –

+0

'' 90% более эффективный "'? Серьезно, один из этих глупых аргументов? Он использует jQuery. Если вы не собираетесь использовать библиотеку в полной мере, нет смысла использовать ее вообще. Кроме того, путь jQuery намного проще в чтении, а «эффективность» в течение дня и возраста процессоров Tygra и четырехъядерных процессоров Intel является стандартным или менее стандартным во многих местах, NO. Это не намного эффективнее. Ты ничего не спасаешь. Наносекунды сэкономленного времени - это больше времени в секундах, потраченное на чтение, запись и анализ кода, который можно было бы упростить и выполнить. – SpYk3HH

1

проблемой является то, что вы завершение заполнения формы снова и снова, попробуйте это, проверка если форма уже отправлена ​​и, если она не была отправлена, в противном случае пропустить отправку

<script type="text/javascript"> 
     function submitForm() { 
      document.getElementById('my_form').submit(); 
     } 
<?php if(!isset($_REQUEST['login'])) : ?> window.onload = submitForm; <?php endif ?> 

</script> 
+0

Я также предпочитаю jQuery, но у него есть время, чтобы изучить его и убедиться в его преимуществах использования. '$ ('# someid'). load (someExternalUrl)' Я даже не знаю, как это сделать в native JS – BojanT

+0

Получение ошибки «Ошибка синтаксиса: ошибка синтаксиса, неожиданный конец файла в .....» строка 23 –

+0

Извините добавьте '' вместо '' Второй является действительным, если у вас есть короткие открытые теги в php.ini, но вы, похоже, не установили это, и это не по умолчанию. Я рекомендую это, так как в шаблонах намного проще использовать то, что '' чем длинная версия – BojanT

Смежные вопросы