2011-10-22 89 views
0

請有人可以幫助我在這如何使這個texarea除了Internet Explorer之外的瀏覽器的javascript工作

這是插入一個特定的bbcode一個JavaScript代碼說[B] [/ B]在一個文本框當用戶點擊它喜歡它是在第V公報和SMF論壇,當用戶點擊的圖像上與並[b] [/ b]顯示在文本區域的形式,

現在我提出礦山工作雖然我不擅長JavaScript ,但問題是它只能在INTERNET EXPLORER中工作,並且在OPERA和Mozilla中不起作用 所以我需要幫助,使其在其他瀏覽器IE瀏覽

<HTML> 
<Head> 
<script type="text/javascript"> 

var isSelected = false; 

function copySelection(workArea){ 

workArea.workText = document.selection.createRange(); 
isSelected = true; 
} 

function wrapInTags(workArea,isTag){ 

if (isSelected) 
{ 
workArea.workText.text = "["+isTag+"]"+workArea.workText.text+"[/"+isTag+"]"; 
if (workArea.workText.text==''){isSelected=false;workArea.focus()} 
} 
} 

function AddURL(workArea){ 

var AddURL=""; 
var txt=""; 


txt=prompt("Enter URL for the link.","http://"); 
AddURL="[.url="+txt+"]"; 
AddURL2="[./url]"; 


if (isSelected) 
{ 
workArea.workText.text = AddURL+workArea.workText.text+AddURL2; 
if (workArea.workText.text==''){isSelected=false;workArea.focus()} 
} 

} 

</Script> 
</Head> 


<Body> 
<Form name='Form1' method=post action='process.php'> 
<textarea name='area1' cols='40' rows='4' onselect="copySelection(this)"></textarea><br> 
<input type=button value='Italic' onclick="wrapInTags(this.form.area1,'i')"> 
<input type=button value='Bold' onclick="wrapInTags(this.form.area1,'b')"> 
<input type=button value='Underline' onclick="wrapInTags(this.form.area1,'u')"> 
<input type=button value='Link' onclick="AddURL(this.form.area1)"> 
<br><br> 
<input type=submit value='Submit'> 
</Form> 


</Body> 
</HTML> 
+0

檢查這可能有助於http://forums.mozillazine.org/viewtopic.php?f=38&t=601831 – david

回答

1

document.selection及其所有方法和propierties工作相距僅是IE,但存在對其他瀏覽器以及其它的東西。

var isSelected = false; 

function copySelection(workArea){ 
    workArea.workText = document.selection ? document.selection.createRange() : {text:workArea.value.substring(workArea.selectionStart,workArea.selectionEnd)}; 
    workArea.offsetSelection = workArea.selectionStart; 
    isSelected = true; 
} 


function wrapInTags(workArea,isTag){ 
    if (isSelected) 
     { 
     if(document.selection){ 
      workArea.workText.text = "["+isTag+"]"+workArea.workText.text+"[/"+isTag+"]"; 
     } else {   
      workArea.value = 
       workArea.value.substring(0,workArea.offsetSelection) 
       + "["+isTag+"]"+workArea.workText.text+"[/"+isTag+"]" 
       + workArea.value.substring(workArea.offsetSelection+workArea.workText.text.length) 
     } 


     if (workArea.workText.text==''){ 
      isSelected=false;workArea.focus() 
     } 
    } 
} 


function AddURL(workArea){ 
    var AddURL=""; 
    var txt=""; 

    txt=prompt("Enter URL for the link.","http://"); 
    AddURL="[.url="+txt+"]"; 
    AddURL2="[./url]"; 

    if (isSelected) { 
     if(document.selection){ 
      workArea.workText.text = AddURL+workArea.workText.text+AddURL2; 
     } else { 
      workArea.value = 
       workArea.value.substring(0,workArea.offsetSelection) 
       + AddURL +workArea.workText.text+ AddURL2 
       + workArea.value.substring(workArea.offsetSelection+workArea.workText.text.length) 
     } 

     if (workArea.workText.text==''){ 
      isSelected=false;workArea.focus() 
     } 
    } 

} 

david指出的解決方案也很好。

相關問題