webForumDet fria alternativet

Insert link etc.

10 svar · 474 visningar · startad av Matsakii

MatsakiiMedlem sedan mars 2005265 inlägg
#1

Jag letar efter en idiot enkel tutorial hur jag gör ett javascript som tex. detta forum har.

Man klickar på en knapp om man ska lägga in en link eller något i textfältet, så man slipper skriva <href= och allt själv :)

Någon som vet nån bra sida?

Peter SMedlem sedan dec. 20025 483 inlägg
#2

Någon tutorial vet jag inte. Däremot kan du ställa frågor då problem uppstår eller få något enkelt exempel att bygga vidare på.

MatsakiiMedlem sedan mars 2005265 inlägg
#3

Då slår jag till direkt och vill jag gärna ha exempel på hur jag kan få dessa 3 :) :

<a href="http://www.test.com">test</a>
<a href="http://www.test.com"target="_blank">test</a>
<a href="mailto:webmaster@test.com">webmaster</a>

strängar genom 3 knappar med popupfönster där jag fyller i 1. URL och 2. text, precis som funktionen här på forumet.

Peter SMedlem sedan dec. 20025 483 inlägg
#4

Snarlikt wF ;)

<script>
function insertURL(frm)
{
  var adr = window.prompt("Skriv in adressen","");
  if (adr){
    var txt = window.prompt("Skriv in länktexten","");
    if (txt){
      var trg = window.confirm("Öppna länken i nytt fönster?");
      trg = trg ? ' target="_blank"' : '';
      frm.elements["t"].value += '<a href="' + adr + '"' + trg + '>' + txt + '</a>';
    }
  }
}

function insertEmail(frm)
{
  var adr = window.prompt("Skriv in e-postadressen","");
  if (adr){
    var txt = window.prompt("Skriv in länktexten","");
    if (txt){
      frm.elements["t"].value += '<a href="mailto:' + adr + '">' + txt + '</a>';
    }
  }
}
</script>

<form>
 <textarea name="t"></textarea>
 <input type="button" value="Infoga länk" onclick="insertURL(this.form)">
 <input type="button" value="Infoga e-postadress" onclick="insertEmail(this.form)">
</form>
MatsakiiMedlem sedan mars 2005265 inlägg
#5

Tackar tackar. Det verkar funka bra, förutom att jag inte kan få in det i rätt textfält. Sen saknas kanske en knapp om man vill öppna i nytt fönster, eller står "Cancel" för "Nej"?

Här är om form kod för text fältet:

<form method="post" name="formNews" action="/admin/m_admin.php?strAction=<?=$strAction?>">
<input type=hidden name=lngNewsID value="<?=$lngNewsID?>">
<input type=hidden name=dPublished value="<?="".date("Y-m-d",$datPublished)?>">
<br>
<br>
<table width="450" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="5"> </td>
<td width="71">Header:</td>
<td width="456">
<input type="text" name="strHeader" size="45" value="<?=$strHeader?>">
</td>
</tr>
<tr>
<td width="5"><img src="../images/space_5x5.gif" width="5" height="2"></td>
<td valign="top"><br>
Text:</td>
<td>
<textarea name="strText" cols="55" rows="10"><?= fnBrEncode($strText) ?></textarea>
<br>
<a href="JavaScript:addSmiley(':-)')" class="smiley"><img src="../images/smilies/icon_smile.gif" border="0" alt=""></a>
<a href="JavaScript:addSmiley(';-)')" class="smiley"><img src="../images/smilies/icon_wink.gif" border="0" alt=""></a>
<a href="JavaScript:addSmiley(':-(')" class="smiley"><img src="../images/smilies/icon_sad.gif" border="0" alt=""></a>
<a href="JavaScript:addSmiley(':D')" class="smiley"><img src="../images/smilies/icon_biggrin.gif" border="0" alt=""></a>
<a href="JavaScript:addSmiley(':o')" class="smiley"><img src="../images/smilies/icon_surprised.gif" border="0" alt=""></a>
<a href="JavaScript:addSmiley('8O')" class="smiley"><img src="../images/smilies/icon_eek.gif" border="0" alt=""></a>
<a href="JavaScript:addSmiley(':?')" class="smiley"><img src="../images/smilies/icon_confused.gif" border="0" alt=""></a>
<a href="JavaScript:addSmiley('8)')" class="smiley"><img src="../images/smilies/icon_cool.gif" border="0" alt=""></a>
<a href="JavaScript:addSmiley('[oops]')" class="smiley"><img src="../images/smilies/icon_redface.gif" border="0" alt=""></a>
<a href="JavaScript:addSmiley(':lol:')" class="smiley"><img src="../images/smilies/icon_lol.gif" border="0" alt=""></a>
<a href="JavaScript:addSmiley(':P')" class="smiley"><img src="../images/smilies/icon_razz.gif" border="0" alt=""></a>
<a href="JavaScript:addSmiley(':cry:')" class="smiley"><img src="../images/smilies/icon_cry.gif" border="0" alt=""></a>
</td>
</tr>
<tr>
<td width="5"> </td>
<td>Published:</td>
<td><?=date("Y-m-d",$datPublished);?></td>
</tr>
<tr>
<td width="5"> </td>
<td>Valid to :</td>
<td>
<input type="text" name="year" size="4" maxlength="4" value="<? echo date("Y",$dat); ?>">
<input type="text" name="month" size="2" maxlength="2" value="<? echo date("m",$dat); ?>">
<input type="text" name="day" size="2" maxlength="2" value="<? echo date("d",$dat); ?>">
(If the date is not change, the news will stay for ever)</td>
</tr>
<tr>
<td width="5"></td>
<td></td>
<td><input type="submit" name="Submit" value=" OK ">
</td>
</tr>
</table>

\<br\>

</form>

Och här är koden jag fick av dig som jag lagt längre ner (kanske man inte ska??:

<table width="420" border="0" cellspacing="0">
<tr>
<td><form>
<textarea name="strText"></textarea>
<input type="button" value="Infoga länk" onclick="insertURL(formNews)">
<input type="button" value="Infoga e-postadress" onclick="insertEmail(formNews)">
</form></td>
</tr>
</table>

Peter SMedlem sedan dec. 20025 483 inlägg
#6

"Cancel" står för "nej".

Anrop sker med 'insertURL(this.form)' (det skall alltså stå this.form).

Funktionerna:

<script>
function insertURL(frm)
{
  var adr = window.prompt("Skriv in adressen","");
  if (adr){
    var txt = window.prompt("Skriv in länktexten","");
    if (txt){
      var trg = window.confirm("Öppna länken i nytt fönster?");
      trg = trg ? ' target="_blank"' : '';
      frm.elements["[b]strText[/b]"].value += '<a href="' + adr + '"' + trg + '>' + txt + '</a>';
    }
  }
}

function insertEmail(frm)
{
  var adr = window.prompt("Skriv in e-postadressen","");
  if (adr){
    var txt = window.prompt("Skriv in länktexten","");
    if (txt){
      frm.elements["[b]strText[/b]"].value += '<a href="mailto:' + adr + '">' + txt + '</a>';
    }
  }
}
</script>

<form>
 <textarea name="t"></textarea>
 <input type="button" value="Infoga länk" onclick="insertURL(this.form)">
 <input type="button" value="Infoga e-postadress" onclick="insertEmail(this.form)">
</form>
MatsakiiMedlem sedan mars 2005265 inlägg
#7

Hmm! Länkarna vill fortfarande inte hitta in i textfältet :(

<form method="post" name="formNews" action="/admin/m_admin.php?strAction=<?=$strAction?>">
<input type=hidden name=lngNewsID value="<?=$lngNewsID?>">
<input type=hidden name=dPublished value="<?="".date("Y-m-d",$datPublished)?>">
<br>
<br>
<table width="450" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="5"> </td>
<td width="71">Header:</td>
<td width="456">
<input type="text" name="strHeader" size="45" value="<?=$strHeader?>">
</td>
</tr>
<tr>
<td width="5"><img src="../images/space_5x5.gif" width="5" height="2"></td>
<td valign="top"><br>
Text:</td>
<td>
<textarea name="strText" cols="55" rows="10"><?= fnBrEncode($strText) ?></textarea>
<br>
<a href="JavaScript:addSmiley(':-)')" class="smiley"><img src="../images/smilies/icon_smile.gif" border="0" alt=""></a>
<a href="JavaScript:addSmiley(';-)')" class="smiley"><img src="../images/smilies/icon_wink.gif" border="0" alt=""></a>
<a href="JavaScript:addSmiley(':-(')" class="smiley"><img src="../images/smilies/icon_sad.gif" border="0" alt=""></a>
<a href="JavaScript:addSmiley(':D')" class="smiley"><img src="../images/smilies/icon_biggrin.gif" border="0" alt=""></a>
<a href="JavaScript:addSmiley(':o')" class="smiley"><img src="../images/smilies/icon_surprised.gif" border="0" alt=""></a>
<a href="JavaScript:addSmiley('8O')" class="smiley"><img src="../images/smilies/icon_eek.gif" border="0" alt=""></a>
<a href="JavaScript:addSmiley(':?')" class="smiley"><img src="../images/smilies/icon_confused.gif" border="0" alt=""></a>
<a href="JavaScript:addSmiley('8)')" class="smiley"><img src="../images/smilies/icon_cool.gif" border="0" alt=""></a>
<a href="JavaScript:addSmiley('[oops]')" class="smiley"><img src="../images/smilies/icon_redface.gif" border="0" alt=""></a>
<a href="JavaScript:addSmiley(':lol:')" class="smiley"><img src="../images/smilies/icon_lol.gif" border="0" alt=""></a>
<a href="JavaScript:addSmiley(':P')" class="smiley"><img src="../images/smilies/icon_razz.gif" border="0" alt=""></a>
<a href="JavaScript:addSmiley(':cry:')" class="smiley"><img src="../images/smilies/icon_cry.gif" border="0" alt=""></a>
</td>
</tr>
<tr>
<td width="5"> </td>
<td>Published:</td>
<td><?=date("Y-m-d",$datPublished);?></td>
</tr>
<tr>
<td width="5"> </td>
<td>Valid to :</td>
<td>
<input type="text" name="year" size="4" maxlength="4" value="<? echo date("Y",$dat); ?>">
<input type="text" name="month" size="2" maxlength="2" value="<? echo date("m",$dat); ?>">
<input type="text" name="day" size="2" maxlength="2" value="<? echo date("d",$dat); ?>">
(If the date is not change, the news will stay for ever)<br><br>
<input type="button" value="Infoga länk" onclick="insertURL(this.form)">
<input type="button" value="Infoga e-postadress" onclick="insertEmail(this.form)"><br><br></td>
</tr>
<tr>
<td width="5"></td>
<td></td>
<td><input type="submit" name="Submit" value=" OK ">
</td>
</tr>
</table>

\<br\>

</form>
<hr width="90%">
<table width="420" border="0" cellpadding="5" cellspacing="0">
<tr>
<th width="5" scope="row"><img src="../images/space_5x5.gif" width="5" height="2"></th>
<th width="39" align="left" bgcolor="B4D4F0" scope="row"><div align="left"><img src="../images/link1.gif" width="20" height="20"></div></th>
<td width="346" bgcolor="B4D4F0">//<a href="http://www.">text</a> </td>
</tr>
<tr>
<th scope="row"> </th>
<th align="left" bgcolor="D9E6F6" scope="row"><div align="left"><img src="../images/link2.gif" width="20" height="20"></div></th>
<td bgcolor="D9E6F6">//<a href="http://www."target="_blank">text</a> </td>
</tr>
<tr>
<th scope="row"> </th>
<th align="left" bgcolor="B4D4F0" scope="row"><div align="left"><img src="../images/mail_icon.gif" width="20" height="20"></div></th>
<td bgcolor="B4D4F0">//<a href="mailto:@ayianapa.nu">webmaster</a> </td>
</tr>
</table>
<table width="420" border="0" cellspacing="0">
<tr>
<td><form>
<textarea name="strText"></textarea>
<input type="button" value="Infoga länk" onclick="insertURL(this.form)">
<input type="button" value="Infoga e-postadress" onclick="insertEmail(this.form)">
</form></td>
</tr>
</table>

Jag verkar inte ha någon bra dag i dag :l

Peter SMedlem sedan dec. 20025 483 inlägg
#8

Var har du JavaScript-koden?

:)

MatsakiiMedlem sedan mars 2005265 inlägg
#9

Here it comes :)

<script language="JavaScript" type="text/javascript">
<!--
function addSmiley(text) {
text = ' ' + text + ' ';
var objElem = document.formNews.strText;
if (objElem.createTextRange && objElem.caretPos) {
var caretPos = objElem.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
objElem.focus();
} else {
objElem.value += text;
objElem.focus();
}
}
function storeCaret(textEl) {
if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate();
}

function insertURL(frm)
{
var adr = window.prompt("Skriv in adressen","");
if (adr){
var txt = window.prompt("Skriv in länktexten","");
if (txt){
var trg = window.confirm("Öppna länken i nytt fönster?");
trg = trg ? ' target="_blank"' : '';
frm.elements["t"].value += '<a href="' + adr + '"' + trg + '>' + txt + '</a>';
}
}
}

function insertEmail(frm)
{
var adr = window.prompt("Skriv in e-postadressen","");
if (adr){
var txt = window.prompt("Skriv in länktexten","");
if (txt){
frm.elements["t"].value += '<a href="mailto:' + adr + '">' + txt + '</a>';
}
}
}
//-->
</script>

Peter SMedlem sedan dec. 20025 483 inlägg
#10

Den bifogade koden fungerar för mig. :)

MatsakiiMedlem sedan mars 2005265 inlägg
#11

Och nu funkar det för mig med.

Ett super tack Peter :)

137 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)