Temos pavadinimas: WordPress, Shopify ir PHPFusion programuotojų bendruomenė :: onClick
Parašė sampas· 2008 Kov. 19 16:03:58
#1
Sveiki,
turiu tokią problemą ir nerandu kaip ją išspręst.
Štai pvz.: turiu tokį kodą:
<input type='button' value='lentele' class='button' style='width:45px' onClick=\"insertText('body', '<table class=\'lentele\'><tr><td></td><td></td></tr><tr><td></td><td></td></tr></table>');\">
ir ką reikia įterpti(gal kaip nors suskirstyti), kad į Textarea įkeltų štai taip:
<table class='lentele'>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
</table>
Redagavo sampas· 2008 Kov. 19 16:03:19
Parašė kiskiss· 2008 Kov. 19 17:03:40
#2
Reikia paprasčiausiai parašyti
javascript'o kodą.
Parašė ramon· 2008 Kov. 19 17:03:41
#3
Veiks jeigu pridesi script`a arba include :);)
#1.
echo "<script>
function insertText(elname, what) {
if (document.forms['inputform'].elements[elname].createTextRange) {
document.forms['inputform'].elements[elname].focus();
document.selection.createRange().duplicate().text = what;
} else if ((typeof document.forms['inputform'].elements[elname].selectionStart) != 'undefined') { // for Mozilla
var tarea = document.forms['inputform'].elements[elname];
var selEnd = tarea.selectionEnd;
var txtLen = tarea.value.length;
var txtbefore = tarea.value.substring(0,selEnd);
var txtafter = tarea.value.substring(selEnd, txtLen);
var oldScrollTop = tarea.scrollTop;
tarea.value = txtbefore + what + txtafter;
tarea.selectionStart = txtbefore.length + what.length;
tarea.selectionEnd = txtbefore.length + what.length;
tarea.scrollTop = oldScrollTop;
tarea.focus();
} else {
document.forms['inputform'].elements[elname].value += what;
document.forms['inputform'].elements[elname].focus();
}
}
</script>";
#2.
echo "<script type='text/javascript' src='".INCLUDES."jscript.js'></script>";
#3. Nauduokis
subheader.php
Redagavo kiskiss· 2008 Kov. 19 17:03:42
Parašė sampas· 2008 Kov. 19 18:03:58
#4
Jeigu gerai supratau, tai dariau štai taip:
<tr>\n<td class='tbl'></td>\n<td class='tbl'>
<script>
function insertText(elname, what) {
if (document.forms['inputform'].elements[elname].createTextRange) {
document.forms['inputform'].elements[elname].focus();
document.selection.createRange().duplicate().text = what;
} else if ((typeof document.forms['inputform'].elements[elname].selectionStart) != 'undefined') { // for Mozilla
var tarea = document.forms['inputform'].elements[elname];
var selEnd = tarea.selectionEnd;
var txtLen = tarea.value.length;
var txtbefore = tarea.value.substring(0,selEnd);
var txtafter = tarea.value.substring(selEnd, txtLen);
var oldScrollTop = tarea.scrollTop;
tarea.value = txtbefore + what + txtafter;
tarea.selectionStart = txtbefore.length + what.length;
tarea.selectionEnd = txtbefore.length + what.length;
tarea.scrollTop = oldScrollTop;
tarea.focus();
} else {
document.forms['inputform'].elements[elname].value += what;
document.forms['inputform'].elements[elname].focus();
}
}
</script>
<input type='button' value='lentele' class='button' style='width:45px' onClick=\"insertText('body', '<table class=\'lentele\'><tr><td></td><td></td></tr><tr><td></td><td></td></tr></table>');\">
</td>
</tr>\n";
, tačiau taip padarius nesigavo. Gal ką ne taip darau?
Parašė ramon· 2008 Kov. 19 18:03:58
#5
Kur tu sita koda rasai, jei ka pasinauduok
#2
Parašė sampas· 2008 Kov. 19 21:03:19
#6
Jūs turbūt mane ne taip supratot, man reikia, kad input'ą
<input type='button' value='lentele' class='button' style='width:45px' onClick=\"insertText('body', '<table><tr><td></td><td></td></tr><tr><td></td><td></td></tr></table><table><tr><td></td><td></td></tr><tr><td></td><td></td></tr></table>');\">
suskaldytų štai taip:
<table class='lentele'>
<tr> <---Iš naujos eulutės
<td></td> <---Iš naujos eulutės
<td></td> <---Iš naujos eulutės
</tr> <---Iš naujos eulutės
<tr> <---Iš naujos eulutės
<td></td> <---Iš naujos eulutės
<td></td> <---Iš naujos eulutės
</tr> <---Iš naujos eulutės
</table> <---Iš naujos eulutės
, tai yra jei aš rašyčiau <br> tai man jį ir įdėtų, o man reikia, kad jo nedėtų. Visą tai aš noriu pasidaryti dėl to, kad nebūtų viena didelė eilutė, o viskas būtų patogiai suskirstyta. Ir beje gal yra koks paprastesnis būdas, kuriam nereikėtų
Javascript, nes man reikia tik įdėti tekstą, o ne apjungt.
Parašė ramon· 2008 Kov. 19 22:03:35
#7
Netestinau bet pamegink toki buda:
$a = "<table class='lentele'>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
</table>";
Ir poto panauduok kintamaji
$a :
<input type='button' value='lentele' class='button' style='width:45px' onClick=\"insertText('body', '$a');\">
Parašė sampas· 2008 Kov. 19 22:03:38
#8
Deja toks parašymas tinka, kai kintamajam priskiriama viena eilutė, parašius keliose eilutėse input'as nebeveikia. Beje dėkui, kad padedi ;)