2011-08-01 31 views
5

Có cách nào để người dùng có thể nhập URL trong vùng văn bản và có liên kết thực sự hiển thị và hoạt động dưới dạng siêu kết nối không?Thêm liên kết để xuất hiện bên trong hộp văn bản

Ví dụ:

<textarea name="Miscell" cols="110" rows="5" wrap="Virtual" class="noborder"> 
      blah blah blah= 
      <a href="http://www.googel.com/">Google</a> 
      blah blah blah 
</textarea> 

Không liên kết được hiển thị: những gì tôi có thể làm gì?

Tôi không tạo trang web đó: Tôi chỉ đang cố gắng thay đổi trang web bằng Firebug.

Trả lời

5

Bạn không thể đặt bất kỳ 'Liên kết hoạt động' nào bên trong vùng văn bản. Một vùng văn bản được thiết kế để hiển thị nội dung chỉ có văn bản. Thay vào đó bạn có thể sử dụng div và sử dụng một số css làm div như một vùng văn bản.

Ví dụ: (Không mã của tôi)

<style type="text/css"> 
#box { 
width: 400px; 
margin: 0 auto; 
overflow: auto; 
border: 1px solid #0f0; 
padding: 2px; 
text-align: justify; 
background: transparent; 
} 
</style> 

HTML... 
<body> 

<div id="box"> 
<h4>My Links</h4> 
<a href=">• Paragraph One Here.</p><p><a href="URL path to external link" title="Mouseover Description">Link Text Description</a></p> 
<p><a href="URL path to external link" title="Mouseover Description">Link Text Description</a></p> 
<p><a href="URL path to external link" title="Mouseover Description">Link Text Description</a></p> 
<p><a href="URL path to external link" title="Mouseover Description">Link Text Description</a></p> 
<p><a href="URL path to external link" title="Mouseover Description">Link Text Description</a></p> 
</div> 
+0

này cần phải có được một câu trả lời chấp nhận – Callat

1

Không giải pháp chính xác nhưng bạn có thể nhìn cách nó được thực hiện trong các biên tập viên RTF, chỉ cần mang đơn giản nhất như niceditor, mã JS đơn giản sẽ chuyển đổi bất kỳ textarea trong khu vực có thể chỉnh sửa với các thẻ HTML được cho phép.

5

Sử dụng DIV như thế này:

<div id="box"> 
<h4>My Links</h4> 
<p><a href="URL" title="Description">Text Description</a></p> 
<p><a href="URL" title="Description">Text Description</a></p> 
</div> 

Và chắc chắn rằng thẻ script này được đưa ra sau phần tử div này

<script type="text/javascript"> 
document.getElementById("box").contentEditable='true'; 
</script> 

Nếu bạn đang sử dụng jQuery nó không quan trọng nơi u đưa thẻ script , chỉ cần đặt nó trong $(document).ready(); Điều này sẽ làm cho div có thể chỉnh sửa. Và điều này có nghĩa là các liên kết cũng sẽ có thể chỉnh sửa được. Tôi đã thử nghiệm nó ra - hoạt động trong chrome và ff.

Điều này sẽ làm cho div có thể chỉnh sửa, nhưng bạn cần cung cấp cho người dùng một số gợi ý trực quan để cho họ biết rằng điều này có thể chỉnh sửa - Sử dụng CSS để làm cho nó trông giống như vùng văn bản.

+0

Tôi nghĩ bạn có nghĩa là '$ (document) .ready();' (không có dấu ngoặc kép) – anestv

+0

cổ vũ, tôi thay đổi nội dung trong sự điều chỉnh. – Zasz

+4

Tại sao không chỉ đặt nó trong HTML trực tiếp với 'contenteditable =" true "'? http://www.w3schools.com/tags/att_global_contenteditable.asp – andrewb

Các vấn đề liên quan