Как говорится в заголовке, я пытаюсь добавить некоторый текст в текстовое поле в html, но в результате всегда есть какой-то странный текст с участием NaN, появляющийся в текстовом поле ... Вот мой код :странный текст NaN продолжает появляться в textarea
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<?php
$_SESSION['currentlocation'] = "combat.php";
?>
<script type="text/javascript">
if(document.getElementById("wrapper") == null) {
window.location = "../index.php";
}
</script>
<textarea id="combatinfo" rows="4" cols="50"></textarea>
<br />
<?php
$_SESSION['currentlocation'] = "combat.php";
if($_SESSION['ambush'] && $_SESSION['flee']) {
for($i = 0; $i < sizeOf($_SESSION['enemies']); $i++) {
echo $_SESSION['enemies'][$i]->rank;
$scaling = 20 - $_SESSION['enemies'][$i] -> luck;
if($_SESSION['enemies'][$i]-> rank >= 20 && $_SESSION['enemies'][$i]-> rank < 40) {
$prob = rand(1, 100);
if($prob <= 100) {
// if($prob <= 75 - $scaling * 3.8) {
if($_SESSION['comboAttack'] < 2) {
$_SESSION['comboAttack'] = 2;
}
$_SESSION['enemies'][$i]->comboAttack = 2;
?>
<script type="text/javascript">
$(document).ready(function() {
$('#combatinfo').append("HELLO WORLD!");
});
</script>
<?php
}
}
else if($_SESSION['enemies'][i]-> rank >= 40 && $_SESSION['enemies'][i]-> rank < 60) {
$prob = rand(1, 100);
if($prob <= 50 - $scaling * 3.8) {
if($_SESSION['comboAttack'] < 3) {
$_SESSION['comboAttack'] = 3;
}
$_SESSION['enemies'][i]->comboAttack = 3;
?>
<script type="text/javascript">
$(document).ready(function() {
var str1 = "Enemy ";
var str2 = "pulls off a 3-hit combo.\n";
var str = str1.concat(str2);
$('#combatinfo').append("HELLO WORLD!");
});
</script>
<?php
}
else if($prob <= 75 - $scaling * 3.8) {
if($_SESSION['comboAttack'] < 2) {
$_SESSION['comboAttack'] = 2;
}
$_SESSION['enemies'][i]->comboAttack = 2;
?>
<script type="text/javascript">
$(document).ready(function() {
var str1 = "Enemy ";
var str2 = "pulls off a 2-hit combo.\n";
var str = str1.concat(str2);
$('#combatinfo').append("HELLO WORLD!");
});
</script>
<?php
}
}
$_SESSION['enemies'][$i] ->attack($i);
}
?>
<button type="button">Defend</button> <button type="button">Flee</button>
<form action="index.php" method="post">
<input type="submit" name="submit" value="Submit" />
</form>
<?php
}
else if(ambush && !flee) {
?>
<button type="button">Defend</button> <button type="button">Flee</button>
<?php
}
if(!ambush && flee) {
?>
<button type="button">Attack</button> <button type="button">Flee</button>
<?php
}
else if(!ambush && !flee) {
?>
<button type="button">Defend</button> <button type="button">Flee</button>
<?php
}
?>
<br />
<select id="selectClone">
<?php
if(sizeOf($_SESSION['playercharacter'] -> clones) == 0) {
?>
<script type="text/javascript">
$(document).ready(function() {
var dropDownMenu = document.getElementById("selectClone");
dropDownMenu.disabled = true;
});
</script>
<option value="Player">Player</option>
<?php
}
else if(sizeOf($_SESSION['playercharacter'] -> clones) == 1) {
?>
<option value="Clone 1">Clone 1</option>
<?php
}
?>
</select>
<div id="player" class="group">asdf</div>
<div id="clone1" class="group">dsfdsfds</div>
<script type="text/javascript">
$(document).ready(function() {
$('.group').hide();
$('#player').show();
$('#selectClone').change(function() {
$('.group').hide();
$('#'+$(this).val()).show();
})
});
</script>
по какой-то причине в текстовом поле я получить текст «Враг #NaN» прилагаемый на текст я хочу. Почему это происходит, и как я могу остановить его?
и вы думаете, что NaN странно? http://stackoverflow.com/questions/3215120/why-javascript-says-that-a-number-is-not-a-number – Twisted1919
NaN обычно означает, что число, которое вы пытаетесь выразить, либо не является числом, либо это невозможно вычислить. С другой стороны, ваш код довольно трудно читать. В идеале ваша логика и презентация должны быть раздельными. Хотя это действительно работает, я считаю, что плохой практикой является использование PHP для вывода кода JavaScript. Файл html должен содержать только html, файл .js, только JavaScript, а файл PHP должен содержать только PHP. – FireCrakcer37
@ FireCrakcer37 Мне сложно определить, действительно ли это нужно здесь или нет, но я столкнулся с несколькими примерами, где действительно необходимо выводить JavaScript с PHP. Например, запустите некоторые вычисления во время загрузки страницы (PHP) и манипулируйте ими на основе действий пользователя на загруженной странице (JS) - единственный способ - вывести их с помощью PHP. – DACrosby