Использование переменной в Javascript для добавления функциональности в теги cfml, которые вызывают запрос - PullRequest
0 голосов
/ 15 мая 2018

Я хочу использовать мои значения из сложения и вычитания, из javascript и использовать их для увеличения значений startRow и endRow вместе.У меня есть сложение и вычитание, и значение отображается.Теперь я не могу понять, как добавить значение в кавычки.каждый раз, когда я пытаюсь использовать маркеры переменных ##, он говорит мне, что мои переменные не существуют.Я хочу иметь возможность нажимать кнопку «следующий» и «предыдущий», чтобы она показала мне первые и последние 20 результатов.`

<cfoutput>
  <script type="text/javascript">
    var currentValue = 0;
    var add = function(valueToAdd){
      ("adding: " + valueToAdd);
      currentValue += valueToAdd;
      document.getElementById('number').innerHTML = currentValue;
    };
  </script>
</cfoutput>
<cfparam name="url.start" default="1" >
<cfquery name="query" datasource="">

</cfquery>

<table>
  <cfset totalPages = ceiling(query.recordCount)>
  <cfset thisPage = ceiling(url.start)>
  <cfloop query="query"  startRow="1" endRow="20">
    <cfoutput>
      <tr>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
      </tr>
    </cfoutput>
  </cfloop>
</table>
<html>
  <head>
  </head>
  <body>
    <div id="text">Results = <span id="number">0</span><div>
    <a href="javascript:add(20)">Plus 20 Results</a>
    <a href="javascript:add(-20)">Minus 20 Results</a>
  </body>
</html>

Я удалил информацию базы данных из кода.

1 Ответ

0 голосов
/ 16 мая 2018

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

Возможные варианты:

  1. Отправить значение в качестве параметра URL:

    <a href="https://www.example.com/index.cfm?start=20">Plus 20 Results</a>

    или

    <a href="javascript:location.href='https://www.example.com/index.cfm?start='+add(20)"/>Plus 20 Results</a>

  2. Отправьте значение в качестве параметра POST или GET с помощью HTML-формы:

    <form action="/index.cfm" method="post"> <input type="text" name="start" value="20"/> <input type="submit"/> </form>

  3. Или отправьте значение Javascript с помощью POST или GET с AJAX в ColdFusionсервис.

...