Бесконечная форма отправки с $ (документ) .ready

0

Я хочу создать форму сообщения, она получит данные с моего URL-адреса и отправит их в мою базу данных. Когда я нажал кнопку "Добавить", он отлично работает, но когда я пытаюсь добавить функцию $ (document).ready, я получаю бесконечный цикл. (Моя цель представляет форму каждый раз, когда я выполняю файл) У меня нет знаний о jquery и Im, используя этот код:

<script type="text/javascript">
$(document).ready(function () {
document.forms["form1"].submit();
});
</script>

Как я могу избавиться от бесконечного цикла?

  • 0
    у вашей формы есть какой-либо атрибут id
  • 0
    проблема заключается в том, что каждый раз, когда страница загружается, она снова отправляется. Одним из решений может быть публикация в другом php-файле и после того, как вы закончите с обработкой данных .. добавьте header("Location: myOtherPage.php"); перенаправления header("Location: myOtherPage.php"); кодировать там, чтобы избежать бесконечного цикла
Теги:
forms

6 ответов

-2
Лучший ответ

Ты можешь попробовать?

$(document).one("ready",function(){
  // submit form here
});
  • 0
    Я пытался, но снова получаю цикл: / <script type = "text / javascript"> $ (document) .one ("ready", function () {$ ('# form1'). Submit ();}); </ Скрипт>
  • 0
    Проверьте мой ответ ниже плз.
1

Вам нужно будет использовать cookie для хранения первой информации о загрузке и проверки ее перед отправкой формы. Установите время истечения в соответствии с требованиями вашего проекта. Прежде чем использовать jQuery cookie, вы добавите плагин cookie после библиотеки jQuery.

jQuery Cookie: плагин jQuery Cookie.

<script type="text/javascript">
$(document).ready(function () {
    if (! $.cookie("cookieName")){
       document.forms["form1"].submit(); // do your stuff          
       $.cookie("cookieName", "firstSet", {"expires" : 7}); // set cookie now
    }

});
</script>

Надежда поможет!

1

Я предполагаю, что у вашей формы нет атрибута action, поэтому он заносится в себя. Добавить атрибут действия на страницу, которую вы хотите отправить:

<form action="mypage.html"....
  • 0
    Мои php-функции и моя форма находятся на одной странице, поэтому моя форма работает так: <form id = "form1" method = "POST"> (потому что я хочу сделать всю работу на одной странице)
  • 2
    Тогда вам не следует удивляться бесконечному пост-циклу: всякий раз, когда страница загружается, она отправляет сама себе.
Показать ещё 1 комментарий
0

Возможно, флаг может выполнить эту работу.

var flag = true;
$(document).ready(function(){

   if(flag){
     // submit code here
     flag = false;
   }
});
0

Используйте ниже код.

<form action="yourformname.html" method="post" enctype="multipart/form-data">

</form>

<input type="submit" value="Submit">

Если есть какой-либо элемент управления загрузкой файлов, используйте enctype в теге формы.

0

Внутри вашей формы вставьте эту строку,

    <input type="hidden" name="ispost" value="0" id="ispost">

И в jQuery добавьте это, ваша проблема будет решена

<script type="text/javascript">
    $(document).ready(function() {
       if($('#ispost').val() != 'submit')
       {
          $('#ispost').val('submit');
          $('#form1').submit();
       }
    });
</script>
  • 0
    То есть тот же ОП уже есть (второй).
  • 0
    @putvande Я отредактировал решение, пожалуйста, просмотрите, его вопрос немного смутил меня при первом прочтении.
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню