#javascript #php #variables
#javascript #php #переменные
Вопрос:
Мое реальное приложение заключается в замене содержимого из базы данных на идентификатор элемента. Я знаю это из текстовых файлов (их 1558), и это отлично работает. Я * просто хотел попробовать этот метод. Заранее благодарю вас за
Этот прикрепленный код показывает, что я пробовал. Эхо-сигналы в функции php показывают, что я превращаю это в функцию. Оповещения показывают, что отправленные значения и возвращаемые значения работают.
<html>
<head>
<script type="text/javascript">
var b = "MyText.txt";
</script>
</head>
</html>
<?php
function add($str){
echo "My strtest file is : " . $str . " ";
echo " ";
$MyTexkFile = "<html><head></head><div> <p> This is my html text display </p></div id = 'mydiv'><body><body></html>";
echo "The string is " . " " . $MyTexkFile . " ";
$newstr = $str . " Add some text to str";
//return $MyTexkFile ;
//return $str;
return $newstr;
}
?>
<script>
function phpadd(b) {
alert(b);
var a = "1234";
alert(a);
var padd = '<?php echo add("3579.txt")?>';
console.log(padd );
}
</script>
<button onclick='phpadd("4567.txt")'>add</button>
Как я сказал выше, код работает должным образом, пока я не попытаюсь передать переменную js (a или b). Я пробовал использовать одинарные и двойные кавычки. С тильдой и без нее.
Моя ошибка: SyntaxError: «литерал не завершается до завершения скрипта jsToPhpFunction.php:15:97. Почему это? Могу ли я что-нибудь сделать, чтобы передать переменную?
Комментарии:
1. Передать
a
илиb
во что? Если вы пытаетесь использовать переменную javascript в методе php, вы не сможете. PHP запускается на сервере до того, как клиент получит ответ. Как только клиент получит полезную нагрузку, он выполнит любой javascript на странице, после чего у него не будет прямого доступа к php2. Javascript — это клиентская сторона, php — серверная.
3. То, что вы пытаетесь сделать, не будет работать, и это не рекомендуется.
4. Вам нужно будет показать код, который выдает ошибку
5. Таплар, я понимаю тебя, однако, как я сказал в своем заявлении, если ты посмотришь на код, у меня есть текстовое значение в кавычках. Это имя текстового файла. в качестве аргумента вызова, в круглых скобках. Во время выполнения эхо-сигналы показывают, что имя текстового файла преобразуется в функцию php. А затем с помощью console.log возвращаемое функцией значение возвращается в js-скрипт. Я хочу знать, если я могу использовать это имя текстового файла в кавычках и видеть, как оно работает, почему я не могу присвоить имя файла в кавычках вариантам a или b и заставить его работать?
Ответ №1:
Не уверен, что это то, чего вы пытаетесь достичь?
<?php
if(isset($_POST['submit'])){
$str = $_POST['hiddenVal'];
echo "My strtest file is : " . $str . " ";
echo " ";
$MyTexkFile = "<html><head></head><div> <p> This is my html text display </p></div id = 'mydiv'><body><body></html>";
echo "The string is " . " " . $MyTexkFile . " ";
$newstr = $str . " Add some text to str";
}
?>
<script>
function phpadd(a) {
document.getElementById("hiddenVal").value = a;
}
</script>
<form action="" method="post">
<input type="text" name="hiddenVal" style="display:none" id="hiddenVal" />
<button name="submit" onclick='phpadd("4567.txt")'>add</button>
</form>
Комментарии:
1. Нет, Ральф, это не то, что я хотел. Код действительно отправляет значение в функцию php и получает значение обратно из этой функции. Неважно, сколько людей говорят, что вы не можете этого сделать, этот код делает именно это. Али попросил, пожалуйста, просветите меня. Каковы механизмы, которые позволяют мне вручную вводить заключенное в кавычки имя моего текстового файла в круглые скобки вызова функции php и заставлять его работать должным образом.
2. Ральф, я прошу прощения, ваш код делает именно то, чего я пытаюсь достичь, спасибо. Но это не то, о чем я спрашивал, как я сказал в своем последнем комментарии.
3. @HalEgbert Боюсь, я тоже все перепробовал и не смог ввести текст в качестве аргумента функции. Я думаю, вы можете отредактировать код и придумать обходной путь, потому что, на мой взгляд, это невозможно сделать напрямую.