Evo jednog konkretnog primera koji me najviše brine.
HTML kod fajla "novarec.php:
Code:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-utf8">
<title>Unos nove reci</title>
</head>
<body>
<form name="novarec" method="post" action="unesirec.php?go">
<a href="javascript:void(0);" onclick="replaceText('Ă', document.novarec.uneta_rec); return false;">
<img border="0" src="vlcod/a1_veliko.gif" alt="muklo a" width="23" height="22" align="absbottom"></a>
<a href="javascript:void(0);" onclick="[b]replaceText[/b]('Ḑ', document.novarec.uneta_rec); return false;">
<img border="0" src="vlcod/dz_veliko.gif" alt="dz" width="23" height="22" align="absbottom"></a>
<!------>
<input type="text" name="uneta_rec" id="rec1" style="novarec1" >
<input type="submit" name="submit1" value="Traži">
</form>
</body>
</html>
Sledi PHP kod sa funkcijama Java Script.
Ima ih dosta ali ja citiram samo ovu "replaceTect()" koja mi u input "uneta_rec" ubacuje karakteristične vlaške matrakuke, kojih nema korosnik na svojoj tastaturi.
Prethodno sa "include" unesem fajl "funkcije.php", i kad pregledam izvorni kod stranice "novarec.php", sve funcije iz tog fajla su vidljive.
Ali, funkcija na "onclick" ne radi ništa. Aktivna bude tek kad je kao <script> unesem u sam fajl "novarec.php".
Da podsetim, ovo mi se događa u radu sa XAMPP-om, na svim mestim gde se poziva bilo koja funkcija iz "includovanog" fajla "funkcije.php".
Da li je to neka zminta samo u XAMPPu ili će tako biti u PHP7 kad prenesem prerađeni kod moje aplikacije?
Code:
fajl funkcije.php
<script type="text/javascript">
function replaceText(text, textarea)
{
// Attempt to create a text range (IE).
if (typeof(textarea.caretPos) != "undefined" && textarea.createTextRange)
{
var caretPos = textarea.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
caretPos.select();
}
// Mozilla text range replace.
else if (typeof(textarea.selectionStart) != "undefined")
{
var begin = textarea.value.substr(0, textarea.selectionStart);
var end = textarea.value.substr(textarea.selectionEnd);
var scrollPos = textarea.scrollTop;
textarea.value = begin + text + end;
if (textarea.setSelectionRange)
{
textarea.focus();
textarea.setSelectionRange(begin.length + text.length, begin.length + text.length);
}
textarea.scrollTop = scrollPos;
}
// Just put it on the end.
else
{
textarea.value += text;
textarea.focus(textarea.value.length - 1);
}
}
</script>