THÂN CHÀO QUÝ BẠN
Blogger nầy chỉ tồn trử kiến thức và kinh nghiệm về nghề “Materials Testing”, “Textile Screen Printing” và “Internet Programming” của một kỹ sư đã phục vụ tại :
* Trung Tâm Khảo sát Kỹ Thuật Quân Nhu /QLVNCH “ & “ Viện Quốc Gia Định Chuẩn/VNCH”
* Xí nghiệp “Hiệp Hưng / VN” ( sãn xuất giày vãi cao su )
"Bradbury Company Inc/USA"(Textile Screenprinting,Imprinted Sportswear Programs) & “Sundance Graphics Inc / USA” ( in bông vãi sợi ) từ năm 1965 để dành cho thế hệ trẻ muốn học nghề.
Vạn Vật Thái Bình (PEACE ON EARTH).

Friday, December 12, 2014

USING ONCHANGE AND SELECT ONCHANGE

 Xử dụng onchange và select onchange. 
onchange là event handler (The event handler is triggered when the 
specified event occurs ) và cũng là attribute có syntax như sau.
                            onchange=” script command “
Script command là javaScript code, javaScript function, javaScript statement, 
javaScript program dùng để call function hay parse value.
onchange được xử dụng cho input, select , textarea , iframe và div.
 
Thí dụ xử dụng onchange và select onchange.
1- Dùng onchange làm thay đổi những gì viết trong input. 
Thay đổi chữ viết trong box rồi click ở ngoài box .Window pop up sẽ
xuất hiện cho biết bạn đã viết chữ gì thay cho chữ Hello Friends.

<input type="text" value="Hello Friends"
onchange="alert(this.value)">
<hr>
<input type="text" id="txt" value="Hello Friends"
onchange=alert(document.getElementById('txt').value);>

2- Dùng onchange cho 2 commands cách biệt bằng dấu chấm phẩy.
      <input type="text" onChange = 
            alert( ' Cám ơn bạn muốn tham gia.' );
           confirm( 'Bạn có muốn tiếp tục mở xem không?' );"> 
3- Dùng onchange để parse một value. 
      <input type="text" onChange=" 
           if (parseInt(this.value) <= 10) {
          alert('Please enter a number greater than 10.');}">
4- Dùng onchange để call function .Thí dụ function nầy sẽ báo cho 
biết khi nào trong textarea có sự thay đổi.
    <html >
    <body>
    <script>
     function changeText(){
     alert("Đã có thay đổi trong textarea...");}
    </script>
    <textarea  rows="5" cols="50" onchange ='changeText()'></textarea>
    </body>
    </html>
5- Dùng select onchange cho droplist. Trong droplist có nhiều option values..Khi chọn xong value thì onchange mới vận hành để call function.
5-1-Thí dụ nầy function display() sẽ viết option value đã chọn vào trong 
div tag khi onchange vận hành.
  <html>
  <body>
  <script>
    function display() {
    document.getElementById("txt").innerHTML=document.getElementById("mySelect").value}
  </script>
     <select id="mySelect" onchange="display();">
   <option value=" ">select</option>
   <option  value="Bread">Bread</option>
   <option  value="Cafe">Cafe</option>
   <option  value="Green Tea">Green Tea</option></select>
   <div id="txt" style="width: 200px; height: 100px; 
   border: 1px solid red; text-align:left; padding:5px;font-family:arial;font-size:20px"></div>
   </body>
   </html>
 
5-2 – Dùng select onchange thay đổi background color
<html>
<body>
<script>
    function  change(a) {
        var col = a.options[a.selectedIndex].value;
        if (col) { document.bgColor = col; }
        alert("The background color changes to "+ col) } 
</script> 
<body>
<select id="color" onchange="change(this)">
    <option value=” " >select</option>
    <option value="cyan">Cyan</option>
    <option value="tan">Tan</option>
    <option value="purple">Purple</option></select>
</body></html> 
 
Chữ this đi với parameter a. Vì muốn display value nên nối kết value với selectedIndex.
Nếu chỉ muốn display số thứ tự 1, 2, 3 … thì viết.
var col = a.selectedIndex 
 
6- Dùng select onchange đơn độc không cần phải có javaScript function.
Áp dụng phương pháp nầy để thay đổi màu sắc , độ lớn, kiểu chữ viết của từng chữ một hay từng câu theo ý muốn mà không gây ảnh hưởng đến các chữ khác.
6-1-Thí dụ nầy giúp chúng ta biết cách thay đổi màu sắc của chữ.
   <html>
   <body>
   <select onchange=
   'document.execCommand("ForeColor",0,this.options[this.selectedIndex].text)'>
   <option style="color:black;"value="black">black</option>
   <option style="color:red;" value="red">red</option>
   <option style="color:blue;" value="blue">blue</option>
   <option style="color:green;" value="green">green</option></select>
   <div  contenteditable ="true" style="width:200px;height:100px;
   border:1px solid red;text-align:left;padding:5px;font-family:arial;
   font-size:20px"></div>
   </body>
   </html>

this.options : đưa tới các options trong select tag.
this.selectedIndex : đưa tới index của selected item.
Nếu chúng ta muốn chọn 1st item thì viết this.selectedIndex=0.
value : là value của option. Nếu áp dụng cho text thì thay chữ
value bằng chữ text
Khi dùng document.execCommand() thì trong div tag phải viết thêm
 contenteditable="true" mới ok.




6-2- Thi dụ nầy cho biết cách thay đổi các kiểu của từng chữ.
<html><body>
<select onchange=
'document.execCommand("FontName",0,this.options[this.selectedIndex].value)'
    <option value="">select</option>
    <option value="Arial">Arial</option>
    <option>Times</option>
    <option value="Courier">Courier</option>
    <option value="Comic Sans MS">Comic Sans MS</option></select>
<div contenteditable="true"  style="width:200px; height:100px;
border: 1px solid red; text-align:left;font-family:arial;padding:5px;
font-size:20px"></div>
</body></html>

6-3- Thí dụ nầy làm thay đổi màu của tất cả những gì viết trong textarea.
Không cần làm highlite.
<html><body>
<select onchange="editor.style.color= this.value;">
     <option style="color:black">black</option>
     <option style="color:blue">blue</option>
     <option style="color:red">red</option>
     <option style="color:green">green</option>
</select><br/>
<textarea id="editor" cols="20" rows="5"style="border-color:red;
font-family:arial;font-size:20px;text-align:left; padding:5px; margin-top:3px">
</textarea>
</body></html>

6- 4 - Thí dụ nầy làm thay đổi màu của tất cả những gì viết trong div tag.
 Không cần làm highlite nhưng phải viết contenteditable= “true” trong div tag
 mới OK.
<html><body>
<select onchange="editor.style.color= this.value;">
     <option style="color:black">black</option>
     <option style="color:blue">blue</option>
     <option style="color:red">red</option>
     <option style="color:green">green</option>
</select><br/>
<div id="editor" contentEditable="true" style="width:200px;height:100px;
border:solid 1px; font-family:times new roman; font-size:20px;text-align:left;
padding:5px; margin-top:3px">
</div>
</body></html>

6-5 -Thí dụ nầy cho biết cách chọn những trang html
Value là những trang mà chúng ta đã save với dạng html.
Những trang html nầy gồm có bài viết, hình vẽ cố định và hình vẽ di động
<form>
<select
Onchange="location=this.options[this.selectedIndex].value;">
  <option value="">select
  <option value="canvas.html">Hình vẽ
  <option value="dinhchuan.html">Nhân Viên Định chuẩn
  <option value="svg.html">Cá đang bơi lội
</select></form>
 
Xử dụng document.execCommand( )
·         Chỉ cho kết quả nếu viết ở ngoài div tag.
·         Nếu muốn viết trong div tag thì không có kết quả vì nó ăn cắp focus.Để tránh khuyết điểm nầy chúng ta phải viết thêm trong div tag như sau.
<div onmousedown="event.preventDefault();"
onclick="document.execCommand('italic',false,null);">Italic</div>
Thí dụ.
<html>
<body>
<button onclick="document.execCommand('italic',false,null);">Italic</button>
<div onmousedown="event.preventDefault();"
onclick="document.execCommand('italic',false,null);">Italic</div>
<div id="editor" contentEditable="true" style="width:200px; height:100px; 
border:solid 1px; font-family:times new roman; font-size:20px;text-align:left;padding:5px; 
overflow:auto; margin-top:3px"> Highlite chữ viết và click Italic
</div> 
</body>
</html>