Как передать переменную php ($ total), которая у меня есть, во внешний Javascript, как на входе? - PullRequest
0 голосов
/ 27 ноября 2009

У меня есть php-файл с переменной $ total в качестве одной из его переменных.

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

echo "<script src='course.js' language='JavaScript'></script>";
echo "<table border='1'>";
echo "<tr>";
echo "<td><td>";

В каждой строке этой таблицы есть флажок, и я вызываю файл сценария, чтобы проверить, не является ли количество отмеченных полей не более 8, для чего мне нужна переменная $ total, которая является общим количеством строк в таблице

Мой файл course.js выглядит следующим образом (предполагается, что всего $)

var count = 0;

for(i=1;i<=$total;i++)
{
    if(document.getElementByTag('course."i"').checked==true)
      count++;
}

if(count==8)
{
    for(i=1;i<total;i++)
    {
        document.getElementById('course."i"').disable=true;
    }
}
}

Ответы [ 4 ]

4 голосов
/ 27 ноября 2009

Когда вы выводите HTML из PHP, установите равную сумму переменной JavaScript перед тем, как вставлять скрипт. Нечто подобное ..

echo "<script type="text/javascript">var php_total = '" . $total . "';</script>";
echo "<script src='course.js' type='text/javascript'></script>";
echo "<table border='1'>";
echo "<tr>";
echo "<td>";

Тогда внутри course.js вы можете просто вызвать переменную JS php_total.

Честно говоря, я все еще не уверен на 100%, что вы пытаетесь сделать, но я не думаю, что это правильный способ сделать это. Ваш JavaScript не должен даже работать.

Вы можете получить общее количество строк уже с помощью JavaScript. Кроме того, я немного сбит с толку, откуда исходит это «магическое число» 8.

1 голос
/ 27 ноября 2009

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

Это php, который выводит содержимое таблицы, да? Таким образом, это php, который изначально устанавливает эти флажки на флажок / непроверенный? Так почему же php не может подсчитать, сколько он должен установить флажок, а также отключить их, если проверен необходимый номер (8?)?

0 голосов
/ 27 ноября 2009

На мой взгляд, есть несколько способов сделать это.

php echo

Точно так же, как Уильям сказал, просто используя эхо. Это самый простой способ, я думаю. Я также думаю, что это выглядит немного грязно, если вы только что пропустили это в своем коде, и это не зависит от платформы

передать JSON от URL

Почти все языки имеют возможность кодировать / декодировать JSON. в php вы можете просто сделать это, вызвав json_encode и json_decode , который преобразует код PHP в javascript, которым вы можете манипулировать

С помощью Jquery.getJson () вы можете получить обратно javascript и использовать его. С jsonp вы могли бы даже работать кросс-домен.

0 голосов
/ 27 ноября 2009

Вы можете сохранить переменную в скрытом поле, например

<input type="hidden" id="total" value="<?=$total?>" />

, а затем вытащите значение с помощью JavaScript с помощью:

var total = document.getElementById("total").value
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...