Передающие переменные и данные через обычную ссылку веб-страницы?

Если вы связываете привязки внутри анонимной функции, как показано ниже, она не падает -

<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 остается неопределенным.

5
задан chustar 21 March 2009 в 07:36
поделиться

5 ответов

Если у Вас есть простая ссылка, можно передать их как параметры запроса на ссылке (который является ПОЛУЧИТЬ операцией),

<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.

8
ответ дан 13 December 2019 в 19:36
поделиться

Я не полностью ясен, относительно какого Вы спрашиваете, но это - то, на что это походит:

Вы знаете, как использовать 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 или выполнить итерации через поля формы для создания строки запроса, было бы действительно сложно.

Таким образом, вот некоторые опции:

  1. Если Ваша форма уже использовала 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. Одно примечание - в целом, пользователи ожидают, что правило "ссылки ездит по различным местам, кнопки делают вещи". Это не жесткое правило, но люди обычно более счастливы, когда кнопка используется для вещей как отправляющие данные формы.

1
ответ дан 13 December 2019 в 19:36
поделиться

Можно добавить строку запроса: Что-то вроде этого:

<a href="page.php?id=1&display=asdf">text</a>

Таким образом, Вы получаете это как переменные строки запроса.

0
ответ дан 13 December 2019 в 19:36
поделиться

Если Вы хотите передать значения данных от одной плоскости .html страница другому, можно использовать эти методы:

  • хранение значения данных в cookie
  • хранение значения в перезаписываемом свойстве window.name
  • добавление значения к URL целевой страницы как строка запроса
  • хранение значения в переменной JavaScript другого кадра (если Вы используете кадры),
  • Хорошая демонстрация вышеупомянутых методов находится в наборе FAQ JavaScript - посмотрите Передающие параметры к странице.

    0
    ответ дан 13 December 2019 в 19:36
    поделиться

    Можно передать данные другому использованию страницы, ДОБИРАЮТСЯ или 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, который может использоваться всюду по веб-приложению.

    2
    ответ дан 13 December 2019 в 19:36
    поделиться
    Другие вопросы по тегам:

    Похожие вопросы: