Mért nem megy ez a JS kód a PHP-n belül?
echo '<script language="javascript">';
echo 'alert("Sikeresen elküdted!")';
echo 'document.getElementById("vege").style.backgroundColor = "red"';
echo '</script>';
Továbbra is azt mondom: amíg nem látszik a teljes forráskód, addig felesleges szájtépés az egész, mert nem értjük meg egymást.
Az a lényeg, hogy a fenti kód mindenképp a beszínezni kívánt <p> után fusson le, különben nem fog működni. Ha ez így történik, és így sem működik, akkor csak az segíthet, ha bemásolod a forráskód érdemi részét.
Ez így elég gusztustalan, legalább annyit csinálj, hogy
?>
<script language="javascript">
alert("Sikeresen elküdted!");
document.getElementById("vege").style.backgroundColor = "red";
</script>
<?php
ha már nem rakod külön fájlba. Meg alert box-szal nem illik kommunikálni a júzerrel, max debuggolni, de arra is inkább console.log().
De miért javascripttel? Vagy phpvel állíts be az elemnek egy classot ha elküldte a formot a júzer és validálta a script. Ha mindenképp javascriptet akarsz akkor viszont ajax-szal kellene operálni, mert a csak frontendes validálás nem validálás. De nem értem, hogy miért nem jó pl valami ilyesmi:
...
<input type="submit" name="formSubmitButton">
...
a viewban, form feldolgozás:
<?php
if ($_POST['formSubmitButton']) {
// validáljuk a formot
...
$formErrorMessages = []; // ha nincs hiba
...
$formErrorMessages = array(
'Nem megfelelő email cím formátum.',
'Hiányzó cím',
'Kérlek fogadd el a felhasználási feltételeket'
}
ha van(nak) hibaüzenet(ek) akkor pl form előtti részre kiíratod, ha nem akkor pl
<p>Ez nem lesz piros.</p>
<p<?php if (count($formErrorMessages) < 1) echo ' class="red"'?>>Ez lesz a piros.</p>
<p>Ez sem lesz piros.</p>
Bocs ha syntax error van a kódban, mostanában frontendezek illetve nem próbáltam ki, de itt az alapelv szemléltetése volt a lényeg.
ITGuy-al egyetértek, hogy a megoldás alapjáraton teljesen ésszerűtlen, de vonatkoztassunk el ettől. Ez így, ebben a formában működőképes:
<p id="vege">Valamivalami</p>
<?php
echo '<script language="javascript">';
echo 'alert("Sikeresen elküdted!");';
echo 'document.getElementById("vege").style.backgroundColor = "red";';
echo '</script>';
?>
A kód működik, innentől teljesen biztos, hogy az elrendezéssel, vagy a meghívással, vagy a feltételes utasítással, vagy bármi mással van a probléma.
Szóval a CSS-t is be lehet tenni a php-be:
echo '<style type="text/css">
#vege {
background-color: red;
}
</style>';
Ez működik...
Hallod ez egyre gusztustalanabb, rakd már külön legalább a css meg js fájlokat.
<link rel="stylesheet" href="mystyle.css">
<script src="myScript.js"></script>
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!