У меня есть очень простая форма, в которой есть текстовое поле с именем CustomerNumber
. В форме есть и другие элементы, такие как выборки и списки, которые должны содержать значения, связанные с CustomerNumber
.
Все, что я хочу сделать, это:
- Пользователь вводит значение в текстовое поле
CustomerNumber
, а затем «передвигается» или просто щелкает где-нибудь еще на странице. - значение, введенное в
CustomerNumber
, затем должно быть передано как запрос к базе данных, который вернет результаты, основанные на значенииCustomerNumber
(например, предыдущие заказы клиента) - Результаты запроса к базе данных используются для заполнения других элементов формы.
- Наконец, как только пользователь правильно заполнил форму, он отправит всю форму (включая номер клиента) на сервер для обработки.
Я только что немного взглянул на JQuery и попробовал некоторые простые манипуляции с DOM (например, paragraph.text("new value")
), и первое, что я заметил, это то, что ни один из HTML в исходном коде не изменяется. В браузере я вижу изменение, но не в HTML.
Это заставляет меня задаться вопросом, что если я использую JQuery для управления элементами формы (через вызов AJAX или что-то еще - я еще не знаю Jquery), как данные базы данных, возвращаемые из вызова AJAX, будут заполнять элементы формы и как это будет на самом деле отправить на сервер, когда они не существуют в HTML?
Я попытался сделать это, используя только HTML-формы, и у меня есть кнопка отправки рядом с текстовым полем CustomerNumber
, и я делаю страницу самостоятельной отправки, но это означало бы наличие формы внутри формы, что невозможно...
cfinput
, это только вызовет головную боль в будущем. (И позор вам, @DanBracuk, за то, что вы так много предложили - -10 баллов от Гринфиндора). Если вы используете jQuery, вы можете справиться с этим так же просто (или проще, чемcfinput
и связывание. Методы jQuery, на которые вы хотите обратить внимание, этоon()
(для запуска процесса при изменении поля формы) иajax()
(для фактического извлечения данные — используя обратный вызов, вы можете обрабатывать данные, когда они возвращаются). Вы хотели бы вернуть данные в виде JSON, чтобы их было проще использовать. - person Scott Stroz   schedule 17.11.2013name
и (соблюдать правила успешного контроля). Вы просматриваете исходный код HTML при первой загрузке страницы. Это не означает, что его нельзя изменить или вы не можете добавлять поля формы. Это ничем не отличается от того, если пользователь вводит новыйvalue
в поле формы - новыйvalue
не является частью исходного исходного кода HTML, но все равно будет отправлен. Вы можете проверить это самостоятельно с помощью простого<form method="post">
. Изменитеvalue
программно, отправьте его и создайте дамп областиFORM
. - person Leigh   schedule 17.11.2013