Javascript код для обработки поведения формы - PullRequest
0 голосов
/ 17 декабря 2009

Вот как выглядит ситуация:

У меня есть пара простых форм

<form action='settings.php' method='post'>
<input type='hidden' name='setting' value='value1'>
<input type='submit' value='Value1'>
</form>

Другие близкие к нему маленькие формы имеют значение2, значение3, ... для определенного параметра1 и т. Д.

Теперь у меня есть все эти формы, размещенные на подстранице settings.php, но я также хотел бы иметь копии одной или двух из них на подстранице index.php (для простоты доступа, поскольку они находятся в определенных ситуации довольно часто используются). Дело в том, что я не хочу, чтобы эти формы, основанные на index.php, перенаправляли меня каким-либо образом в settings.php, просто отправьте скрытое значение, чтобы изменить настройки, и все.

Как я могу сделать это с JS?

Приветствия

Ответы [ 2 ]

0 голосов
/ 18 декабря 2009

Вот функция getData ajax.

function getData(dataSource, targetDiv){

  var XMLHttpRequestObject = false;

  if (window.XMLHttpRequest) {
    XMLHttpRequestObject = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    XMLHttpRequestObject = new
      ActiveXObject("Microsoft.XMLHTTP");
  }

    if(XMLHttpRequestObject) {
      var obj = document.getElementById(targetDiv);
      XMLHttpRequestObject.open("GET", "settings.php?form="+dataSource+"&t="+new Date().getTime());

      XMLHttpRequestObject.onreadystatechange = function()
      {
        if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
            obj.innerHTML = XMLHttpRequestObject.responseText;
        }
      }

      XMLHttpRequestObject.send(null);
    }
}

используйте эту функцию для отправки формы в ваш файл setting.php, который должен вернуть подтверждающее сообщение в index.php (внутри targetDiv).

Параметры функции

1) dataSource - значение переменной, которое вы отправляете в settings.php

2) targetDiv - это div по индексу php с отображением ответа от settings.php

Надеюсь, это имеет смысл.

0 голосов
/ 17 декабря 2009

Да, вы можете использовать ajax-вызов для отправки запроса в файл settings.php. Возможно, вы захотите, чтобы этот код PHP возвращал что-то, что JavaScript может использовать, чтобы узнать, был ли запрос успешным или нет (например, с использованием JSON вместо HTML).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...