Как правильно вставить переменную PHP в jQuery / JavaScript?

0

Этот код работает при запуске приложения, но Dreamweaver дает синтаксическую ошибку. Ему не нравится знак вопроса. Мне нравится, что DW является синтаксической ошибкой. Есть ли другой способ написать это? У меня есть DW cs5.5 Я не могу обновить версию Dreamweaver.

    if ( $('#postage6').val() == "Your Permit Standard" ) {
        $('#postage6rate').val('<?php echo $your_permit_standard; ?>');
    }

Помещая обратную косую черту перед вопросительным знаком, просто заставляет его печатать как это, что неправильно.

    if ( $('#postage6').val() == "Your Permit Standard" ) {
        $('#postage6rate').val('<\?php echo $your_permit_standard; ?>');
    }

когда он отображает, предполагается, что будет такое значение:

    if ( $('#postage6').val() == "Your Permit Standard" ) {
        $('#postage6rate').val('0.333');
    }

Также это не работает:

    if ( $('#postage6').val() == "Your Permit Standard" ) {
        var somevar = "<?php echo $your_permit_standard; ?>";
        $('#postage6rate').val(somevar);
    }

Синтаксическая ошибка просто переносится из строки, где переменная PHP была в новой строке, где находится переменная PHP.

  • 0
    ну, во-первых ... php - это код на стороне сервера и клиентская часть javascript ... то, как вы делаете это, не является неправильным ... однако, оно не следует стандарту ... есть некоторые другие способы как при настройке значений на стороне сервера ... но тогда, если вам как-то нужны значения сервера в javascript, то это единственный способ ... или использование ajax (), которое, как я полагаю, в вашем коде, излишне ...
  • 0
    Является ли ваш код *.php (внутри *.php ) файлом, иначе он не будет работать!
Теги:
dreamweaver

3 ответа

5
Лучший ответ

Вы можете определить значение в отдельном блоке php:

<script type="text/javascript">
   var value = '<?=$your_permit_standard?>';
</script>

И затем используйте его в своем JS:

if ( $('#postage6').val() == "Your Permit Standard" ) {
    $('#postage6rate').val(value);
}

Но тогда вы будете вводить зависимость JS в PHP, которую я бы не рекомендовал, но так как вы все равно смешиваете...

  • 0
    Сначала я не получал это, но потом я понял свою ошибку. это, кажется, делает трюк. Благодарю.
  • 0
    Я сталкиваюсь с той же проблемой, не могли бы вы сказать мне, что является вашей "ошибкой"?
1

Похоже, вы устанавливаете входное значение с помощью JavaScript, установив аргумент метода .val() с PHP. Почему бы не установить значение ввода напрямую с PHP?

<input type="text" name="postage6rate" value="<?php echo $your_permit_standard; ?>">

Если вам нужно запустить этот скрипт за какое-то время, кроме загрузки страницы, вы можете привязать данные к элементу с атрибутом data.

<input type="text" name="postage6rate" data-permit="<?php echo $your_permit_standard; ?>">

И тогда, когда вам нужно запустить свой скрипт...

window.addEventListener('onSomeEvent', function addTheData() {
  var $input = $('input[name="postage6rate"]');
  $input.val($input.data('permit'));
});
  • 1
    Я думаю, что вы не видели его, if statement
  • 0
    Хорошо, но я не думаю, что это было достойно понижения.
Показать ещё 3 комментария
0

Я предполагаю, что ваш javascript не является javascript (в том же PHP файле), который предотвращает выполнение PHP

Пытаться:

<?php 
$your_permit_standard = "0.335";
?>
<html>
  <body>
    <input id="postage6" name="postage6" value="Your Permit Standard"/>
    <input id="postage6rate" name="postage6rate"/>
    <script src="http://code.jquery.com/jquery-2.0.3.min.js"></script>
    <script>
    if ( $('#postage6').val() == "Your Permit Standard" ) {
        $('#postage6rate').val('<?php echo $your_permit_standard; ?>');
    }
    </script>
  </body>
<html>

И вот рабочий пример

Ещё вопросы

Сообщество Overcoder
Наверх
Меню