<script type="text/javascript">
var max_row_num=10; //row max값
var cur_row_num=1;   //현재 row 갯수
var max_col_num=10; //col max값
var cur_col_num=2;   //현재 col 갯수

function ftnRowAdd(tname) {

 if (max_row_num <= cur_row_num){
  alert("최대갯수(" + max_row_num + ") 초과!!");
  return false;
 } else {
  var objTbl = document.getElementById(tname);
  var objRow = objTbl.insertRow(objTbl.rows.length); //rows add
  var objCell;
  var cell_no = 0;
  cur_row_num += 1;

  for(var i=1 ; i<=objTbl.rows[0].cells.length ; i++) {
   objCell = objRow.insertCell(cell_no); //cells add
   objCell.innerHTML += "<div>" + cur_row_num + "-" + i + "</div>";
   //cell style 셋팅
   objCell.width = "40";
   objCell.height= "15";
   objCell.align = "center";
   objCell.valign= "middle";
   cell_no ++;
  }
 }
}

function ftnCellAdd(tname) {
 var objTbl = document.getElementById(tname);
 var objCell;
 var cell_no = cur_col_num;

 if (max_col_num <= cur_col_num){

  alert("최개갯수(" + max_col_num + ") 초과!!");
  return false;

 } else {
  cur_col_num += 1;
  for(var i=1 ; i<=objTbl.rows.length ; i++) {
   objCell = objTbl.rows[i-1].insertCell(cell_no);
   objCell.innerHTML += "<div>" + i + "-" + cur_col_num + "</div>"
   objCell.width = "40";
   objCell.height= "15";
   objCell.align = "center";
   objCell.valign= "middle";
  }
 }
}

function ftnRowDel(tname) {

 var objTbl = document.getElementById(tname);

 if (cur_row_num < 2){

  alert("1개 이상은 존재해야함!!");
 
 } else {

  objTbl.deleteRow(cur_row_num-1);
  cur_row_num --;

 }
}

function ftnCellDel(tname) {
 var objTbl = document.getElementById(tname);
 var objCell, objRow;

 if (cur_col_num < 2){
  alert("1개 이상은 존재해야함!!");
  return false;
 } else {
  for(var i=1 ; i<=objTbl.rows.length ; i++) {
   objRow = objTbl.rows[i-1];
   objCell = objRow.cells[cur_col_num-1];
   objRow.removeChild(objCell);
  }
  cur_col_num --;
 }
}
</script>
</head>

<input type=button name=btnAddRow value="+행추가" onclick="ftnRowAdd('ctable');" />
<input type=button name=btnAddCol value="+열추가" onclick="ftnCellAdd('ctable');" />
<input type=button name=btnDelRow value="-행삭제" onclick="ftnRowDel('ctable');" />
<input type=button name=btnDelCol value="-열삭제" onclick="ftnCellDel('ctable');" />

<table border="1" id="ctable">
<tr>
 <td width="40" height="15" align="center"><div>1-1</div></td>
 <td width="40" height="15" align="center"><div>1-2</div></td>
</tr>
</table>

Posted by 달팽이맛나
,
<a href="#" onClick="MyWindow=window.open('http://tokigui.tistory.com','MyWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=600,height=300,left=0,top=0'); return false;">
팝업띄우기</a>
Posted by 달팽이맛나
,
<script type="text/javascript">
function pageError(){
return true;
//alert("에러났다");
}
window.onerror = pageError;
</script>


<script>abc();</script>

에러메세지가 뜨지 않습니다.
<head>에 해당 소스를 삽입하면 자바스크립트 에러 팝업메세지가 뜨지 않습니다.
Posted by 달팽이맛나
,

_top, _parent, _blank, _self 는 예약어입니다.

_top : 현재 창(window)의 최상위 프레임(frame)
_parent : 현재 프레임의 상위(부모) 프레임
_blank : 새 창
_self : 현재 프레임


_가 안붙으면 단순한 창 이름 지정입니다.
해당 이름(name)을 가진 창이나 프레임이 있으면 거기에 열고, 없으면 그 이름을 지닌 새 창을 띄웁니다.
ex)
<a href='http://tokigui.tistory.com' target="_blank">블로그새창증가</a>
<a href='http://tokigui.tistory.com' target="blank">한개의창에서만 증가</a>

Posted by 달팽이맛나
,
<-- test1.php -->
<script type="text/javascript>
  function submitFrame(f){
    f.action="test2.php";
    f.method="myiframe";
    f.submit();
  }

</script>
<form id="form"  action="test2.php" method="POST">
  <input type="text" name="data" />
  <iframe width="500" height="500" name="myiframe"></iframe>
 <input type="button" value="" onclick="submitFrame(mail)" />
</form>


<-- test2.php -->
<?
  echo $_POST['data'];
?>

Posted by 달팽이맛나
,