Text Markieren und Kopieren Google Chrome

peper

Erfahrenes Mitglied
Moin moin,

auf meiner Seite habe ich zwei Textboxen. Diese werden je nach Browser markiert bzw. markiert und kopiert. Nur im Chrome funktioniert das ganze nicht. Dort markiert er nur die Umrandung der Textbox.


Textbox1:
Code:
<form name="xform_html_text" action="(leere referenz!)" method="get">

<TEXTAREA rows="1" name="z_html_text" cols="60" readonly>

<?

echo '[ IMG]xxx/'.$user.'/'.$x.'[ /IMG]';

?>

</TEXTAREA>

<br />

<SCRIPT language="JavaScript" type="text/javascript">

<!--

// Schaltfläche und Text zuweisen

if ((navigator.appName=="Microsoft Internet Explorer")&&(parseInt(navigator.appVersion)>=4)) {

  document.write('<INPUT type="button" value="  Text in Zwischenablage kopieren  " onClick="copytext(\'xform_html_text\', \'z_html_text\');">');

} else {

  document.write('<INPUT type="button" value="  Text markieren  " onClick="highlightext(\'xform_html_text\', \'z_html_text\');">');

}

// -->

</script>

</form>

Textbox2:
Code:
echo '<form name="form_html_text" action="(leere referenz!)" method="get">';

echo '<TEXTAREA rows="1" name="s_html_text" cols="60" readonly>';

echo '[ URL=xxx/'.$user.'/'.$x.'][ IMG]xxx/Bildereck/Thumbs/'.$user.'/'.$x.'[ /IMG][ /URL]';

echo '</TEXTAREA>';

?>

<br />

<SCRIPT language="JavaScript" type="text/javascript">

<!--

// Text markieren

function highlightext(strForm, strName) {

  document.getElementsByName(strForm)[0].elements[strName].select();

  document.getElementsByName(strForm)[0].elements[strName].focus();

}



// Markiertes kopieren

function copytext(strForm, strName) {

  highlightext(strForm, strName);

  textRange = document.getElementsByName(strForm)[0].elements[strName].createTextRange();

  textRange.execCommand("RemoveFormat");

  textRange.execCommand("Copy");

  alert("Der Text wurde in die Zwischenablage kopiert.");

}



// Schaltfläche und Text zuweisen

if ((navigator.appName=="Microsoft Internet Explorer")&&(parseInt(navigator.appVersion)>=4)) {

  document.write('<INPUT type="button" value="  Text in Zwischenablage kopieren  " onClick="copytext(\'form_html_text\', \'s_html_text\');">');

} else {

  document.write('<INPUT type="button" value="  Text markieren  " onClick="highlightext(\'form_html_text\', \'s_html_text\');">');

}

// -->

</script>

</form>

Vielleicht hat ja einer von euch eine Idee bzw. Links oder Suchergebnisse bei google. Ich nehme alles.

LG Lars
 
Hi,

setze in der Funktion highlightext den Fokus bereits vor dem Markieren auf das Textfeld.

Code:
function highlightext(strForm, strName) {
  document.getElementsByName(strForm)[0].elements[strName].focus();
  document.getElementsByName(strForm)[0].elements[strName].select();
  document.getElementsByName(strForm)[0].elements[strName].focus();
}
Ciao
Quaese
 
Zurück