waarom wordt data php niet weergegeven in javascript
onderstaande werkt wel
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$result = "dit werkt wel";
?>
<script>
var x = "<?php echo "$result" ?>";
document.write(x);
</script>
$result = "dit werkt wel";
?>
<script>
var x = "<?php echo "$result" ?>";
document.write(x);
</script>
onderstaande werkt niet
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$result = '<form id="change_label">
<label>Voer label in</label>
<br>
<input type="text" placeholder="vul labelnaam / naam invoerveld in" name="naam_rijzoek" id="input_rijzoek"><br>
<button id="rijzoek" onclick="changelabel(this.id); return false;">Bevestigen</button>
</form>';
?>
<script>
var x = "<?php echo "$result" ?>";
document.write(x);
</script>
$result = '<form id="change_label">
<label>Voer label in</label>
<br>
<input type="text" placeholder="vul labelnaam / naam invoerveld in" name="naam_rijzoek" id="input_rijzoek"><br>
<button id="rijzoek" onclick="changelabel(this.id); return false;">Bevestigen</button>
</form>';
?>
<script>
var x = "<?php echo "$result" ?>";
document.write(x);
</script>
Gewijzigd op 05/06/2024 12:21:29 door - Ariën -
Mijn advies single-quotes:
Sowieso hoeven variabelen niet tussen quotes, dus ook die laat ik achterwege, al staat dat los van het probleem. Verder is Java totaal wat anders dan Javascript, en beiden zijn totaal niet met elkaar te vergelijken. Dus je titel heb ik even aangepast.
Gewijzigd op 05/06/2024 12:22:48 door - Ariën -
Gewijzigd op 05/06/2024 12:23:11 door Paul Weiss
Paul Weiss op 05/06/2024 12:21:40:
ik zie het ja
Ik zie daar geen double-quotes in je invoer.
he arien. hoe bedoel je bij de invoer? Ik heb nu trouwens de toewijzing in javacript in single-quotes geplaatst, maar ik krijg toch geen resultaat.
Gewijzigd op 05/06/2024 12:59:42 door Paul Weiss
Hoe ziet de relevant de code er nu uit?
Toevoeging op 05/06/2024 13:42:18:
er gaat in ieder geval iets fout.
Laat je relevante code eens zien? Ik heb toch gezegd wat er mis was?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$result = '<form id="change_label">
<label>Voer label in</label>
<br>
<input type="text" placeholder="vul labelnaam / naam invoerveld in" name="naam_rijzoek" id="input_rijzoek"><br>
<button id="rijzoek" onclick="changelabel(this.id); return false;">Bevestigen</button>
</form>';
echo $result;
?>
<script>
var x = '<?php echo"$result"?>';
document.write(x);
</script>
$result = '<form id="change_label">
<label>Voer label in</label>
<br>
<input type="text" placeholder="vul labelnaam / naam invoerveld in" name="naam_rijzoek" id="input_rijzoek"><br>
<button id="rijzoek" onclick="changelabel(this.id); return false;">Bevestigen</button>
</form>';
echo $result;
?>
<script>
var x = '<?php echo"$result"?>';
document.write(x);
</script>
Gewijzigd op 05/06/2024 15:34:41 door Paul Weiss
Ik zie al waarom het niet werkt. Er staan enters oftewel linebreaks in je HTML.
Dat kan je oplossen door backticks (`````) te gebruiken i.p.v. single-quotes. Of eventueel in PHp deze strippen
Of met PHP:
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$string = "Dit is een\nstring met\nmeerdere\nlinebreaks.";
$cleaned_string = str_replace(array("\r", "\n"), '', $string);
echo $cleaned_string;
?>
$string = "Dit is een\nstring met\nmeerdere\nlinebreaks.";
$cleaned_string = str_replace(array("\r", "\n"), '', $string);
echo $cleaned_string;
?>
Gewijzigd op 05/06/2024 16:38:49 door - Ariën -
Let op: je hoeft dus ook geen omsluitende quootjes meer te plaatsen
hartelijk dank voor jullie bijdragen. mee geholpen.
bedankt. maar deze gebruik ik puur voor testdoeleinden.
Dan lijkt een console.log() mij beter.