Если вы связываете привязки внутри анонимной функции, как показано ниже, она не падает -
<input type="checkbox" data-bind="checked: function() {bogus}">
<input type="text" data-bind="text: function(){bogus}">
или внутри переключателя контекста, как показано ниже
<!--ko with: child-->
<input type="checkbox" data-bind="checked: $parent.bogus">
<input type="text" data-bind="text: $root.bogus">
<!--/ko-->
Однако, в тот момент, когда вы немедленно вызываете функцию в привязке, как показано ниже, она вылетает -
<input type="checkbox" data-bind="checked: function() {bogus}()">
<input type="text" data-bind="text: function(){bogus}()">
или даже эта -
<input type="checkbox" data-bind="checked: $parent.bogus">
<input type="text" data-bind="text: $root.bogus">
Итак, с этим мне кажется, что при переносе привязки вокруг с переключением контекста, как with
(или может быть using
), оценка привязки как-то откладывается до некоторого момента позже. Если нет, то привязка оценивается во время создания DOM, когда bogus
остается неопределенным.
Если у Вас есть простая ссылка, можно передать их как параметры запроса на ссылке (который является ПОЛУЧИТЬ операцией),
<a href="/myapp/somecontroller.php?id=17&name=fred">Save</a>
Если у Вас есть простая HTML-форма без JavaScript для обработки нажатия кнопки, можно поместить вещи в скрытые поля
<form name="theform" method="post" action="/myapp/somecontroller.php">
<input type="hidden" name="id" value="17">
<input type="hidden" name="name" value="fred">
...
</form>
Это не требует никакого JavaScript.
Я не полностью ясен, относительно какого Вы спрашиваете, но это - то, на что это походит:
Вы знаете, как использовать POST и ДОБРАТЬСЯ, иначе HTML-формы, для передачи данных между страницами. Вы используете кнопки Javascript.
Существует несколько интерпретаций "кнопок JavaScript":
Вы делаете что-то как
(1) <input type="submit" onclick="doSomething();" value="Save my data" />
(2) <input type="button" onclick="doSomething();" value="Save my data" />
(3) <button onclick="doSomething();">Save my data</button>
Или что-то как
(4) <input type="submit" value="Save my data" />
1, 2, и 3 примеры использования JavaScript для создания кнопок, действительно наполняют. ("Кнопки JavaScript"). 4 стандартная кнопка HTML FORM - JavaScript не используется; стандартные поведения HTML-формы заставят кнопку утверждать, что данные к любой странице указаны в Теге form (что-то как <form method="get" action="datacollection.php">
).
Теперь, вещь понять состоит в том, что POST/получать является способами отправить данные вокруг между веб-страницами - между браузером и сервером. Процесс отправки данных вокруг может быть инициирован HTML ( <a>
ссылка), JavaScript (функция, которая называет URL или триггеры, что ФОРМА отправлена), или элементы ФОРМЫ как <input type="submit" />
.
Я не предназначаю преступления, но способ, которым Вы задали свой вопрос, заставляет меня думать, что Вы не пытаетесь выяснить различные форматы для передачи данных странице получения (как другие плакаты обсуждают), и выясняющий, как проанализировать значения cookie или выполнить итерации через поля формы для создания строки запроса, было бы действительно сложно.
Таким образом, вот некоторые опции:
Если Ваша форма уже использовала JavaScript для представления формы (случаи 1, 2, или 3 выше), Вы просто добавляете ту же onclick часть к ссылке HTML:
Сохраните мои данныеФункция submitMyForm могла бы выглядеть примерно так:
function submitMyForm() {
// Get the form object -- you can also do this with the document.form array
var myForm = document.getElementById( 'userdata' );
// use the submit method of the form object
myForm.submit();
}
Так, таким образом, Вы добавите поведение JavaScript ("обработчик событий") к нормальной ссылке привязки HTML. Одно примечание - в целом, пользователи ожидают, что правило "ссылки ездит по различным местам, кнопки делают вещи". Это не жесткое правило, но люди обычно более счастливы, когда кнопка используется для вещей как отправляющие данные формы.
Можно добавить строку запроса: Что-то вроде этого:
<a href="page.php?id=1&display=asdf">text</a>
Таким образом, Вы получаете это как переменные строки запроса.
Если Вы хотите передать значения данных от одной плоскости .html страница другому, можно использовать эти методы:
Хорошая демонстрация вышеупомянутых методов находится в наборе FAQ JavaScript - посмотрите Передающие параметры к странице.
Можно передать данные другому использованию страницы, ДОБИРАЮТСЯ или POST.
Обратите внимание на то, что при передаче данных необходимо рассмотреть его цель. Если передача данных не вызывает изменений в Вашем приложении, которое необходимо использовать, ДОБИРАЮТСЯ. Иначе необходимо использовать POST.
Если у Вас есть страница управления пользователями, например. Когда Вы только отображаете пользовательские детали, необходимо использовать, ДОБИРАЮТСЯ, потому что это не делает вида изменений: http://www.mywebsite.com/user.php?user=10
.
Однако, если пользователи изменяют свои детали, необходимо использовать POST, потому что он изменяет данные пользователя:
<form name="userDetails" method="post" action="saveChanges.php">
<input type="text" name="firstName" value="" />
<input type="submit" value="save"/>
</form>
Alternativelly, можно также использовать Cookie. Можно сохранить данные в cookie, который может использоваться всюду по веб-приложению.