Краткий вопрос о JavaScript или AJAX - PullRequest
2 голосов
/ 09 июня 2010

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

Можно ли это сделать без перезагрузки страницы?

Iдаст вам пример.Скажем, я делал несколько инструментов для админ-панели, но в первую очередь им нужно было выбрать участника для работы.Они выбирают участника, а затем ниже, поля об этом члене будут заполняться на основе того, что было выбрано в первом меню.

Как я уже спрашивал, можно ли это сделать без перезагрузки страницы?

Спасибо за чтение.

Ответы [ 3 ]

3 голосов
/ 09 июня 2010

Да, это можно сделать без AJAX. Когда страница отображается, передайте все коллекции, которые будут использоваться раскрывающимися списками в качестве объектов JSON, в HTML:

var collection = [{ id: 1, name: 'John' }, { id: 2, name: 'Smith' }];
...

Затем зарегистрируйтесь для события изменения первого выпадающего списка и на основе выбранного значения перейдите и получите данные из других коллекций. Конечно, если у вас много данных, это может оказаться непрактичным, поскольку ваши страницы станут очень большими, и в этом случае AJAX будет более подходящим.

1 голос
/ 09 июня 2010

Ответьте ДА, это можно сделать.

Во-первых, вам нужно событие, в этом случае вам нужно выполнить действие с событием onChange для selectBox. Поэтому, когда элемент меняется, вы запускаете функцию.

Теперь у вас есть 2 варианта. Вы можете сделать это, используя AJAX или NOT, это действительно зависит от сложности / безопасности вашего приложения.

В дальнейшем я имею в виду

  1. Пользователи: те, кто использует приложение
  2. Скрытые данные на стороне клиента: данные, отправляемые клиенту во время загрузки страницы, но не видимые для всех пользователей, однако при использовании источника представления или загрузке файлов JS данные не защищены.

Метод 1 - НЕТ AJAX

Основы: вы отправляете все возможные параметры отображения изначально при первой загрузке страницы, но отображаете только те разделы, которые относятся к пользователю во время событий selectbox onchange.

Рекомендуется, когда: Нет никаких требований безопасности, если скрытые данные на стороне клиента обнаружены (или не будут обнаружены, или вы просто доверяете своей аудитории использовать приложение по назначению). Наконец, когда ваш общий вид перестановок низок.

Метод 2 - AJAX

Основы: изначально вы отправляете вниз только каркас страницы, когда пользователь изменяет значение поля выбора, затем вы делаете AJAX-запрос к серверу - захватываете новую информацию о просмотре, относящуюся к этому пользователю, отправляете ее обратно вниз к сценарию, который будет вводить эти пользовательские данные в DOM.

Рекомендуется, когда: у вас есть общедоступный сайт или сайт, где безопасность является соображением. Там, где у вас много перестановок представлений или требуется больше настроек для пользователя, чем в сценарии 1.

Как вы видите, оба метода не требуют репоста - метод 1 отправляет все заранее, метод 2 использует AJAX для заполнения данных при необходимости. Оба метода действительны в зависимости от ваших требований.

0 голосов
/ 09 июня 2010

Да . Ajax в основном используется для этого, то есть (без перезагрузки страницы)

Вы должны использовать следующий шаг для достижения

  1. Создайте ссылку и вызовите функцию JavaScript для ее onchange функции
  2. В функции JavaScript вам нужно вызвать Ajax-запрос.
  3. Обновите div в вашем ответе на ajax.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...