자바스크립트 문자열

2009. 3. 24. 22:59 from JAVASCRIPT

이렇게 쓰는 이유 여기로
배열에 대한 함수정보는 여기로
Posted by 윤재현 :

JQUERY로 JSON RESPONSE받기

2009. 3. 12. 00:49 from JAVASCRIPT
응답페이지 (checkAddress.jsp); 보기 어려우시면 여기로
Posted by 윤재현 :
<script type="text/javascript">
<!--
// short - circuit 예제
var a = 100;
var b = 200;

var c = 100;
var d = 200;

if((++a > 1000) && (++b > 1000)){
  alert("if 조건 만족");
}else{
  alert("if 조건 불만족");
}

if((++c < 1000) && (++d > 1000)){
  alert("if 조건 만족");
}else{
  alert("if 조건 불만족");
}

alert(a);
alert(b);
alert(c);
alert(d);

/*
a, b, c, d 각각의 값은?

답) 101, 200, 101, 201
해설)
처음의 if문에서 ++a 는 101이다. (++a > 1000) 은 false
&& 왼쪽의 표현식은 false이다.
(++b > 1000) 가 true이던 false 이던 전체의 표현식은 false가 된다.

** 이런경우 javascript에서는 오른쪽의 표현식을 평가하지 않는데 이것을 short-circuit 라고 한다.

두번째의 if문에서 ++c는 101이다. (++c < 1000) 은 true
&& 왼쪽의 표현식은 true이다.
전체 표현식이 true인지 false인지 판단하기 위해서는 && 오른쪽의 식도 평가되어야 하므로 ++d가 수행된다.

참고로 java에서도 short-circuit은 적용된다.(다른 언어는 되는지 안되는지 찾아보삼~~)
*/

// -->
</script>
Posted by 알 수 없는 사용자 :
  1. <script type="text/javascript">
  2. //<![CDATA[
  3.   alert(parseInt("045646"));  //parseInt일 경우, 0으로 시작하는 문자는 8진수로 변환되어 19366을 출력.
      alert(parseInt("045646", 10)); //parseInt일 경우, 0으로 시작하는 문자는 10진수라는 것을 표시해줘야 45646으로 나온다.
                                    // 아니면 위와 같이 8진수로 변환된 값이 나온다.
    alert(Number("045646") + Number("098646")); //Number일 경우에는 기본 10진수로 나오기 때문에 0으로 시작하는 문자라도
                                                  //위와 같은 문제는 생기지 않는다.
    alert(parseInt("0x45646")); //parseInt일 경우 , 0x로 시작하는 문자는 16진수로 계산하여 284230 출력
  4. //]]>
  5. </script>


    누가 써놨는지 임시 저장본이 있어서 내가 가로챔.
Posted by 윤재현 :

자바스크립트 부분
<script type="text/javascript">
<!--
function allCk(objCheck){ //전체 선택 checkbox 클릭
  var checks = document.getElementsByName('cp_no');
  for( var i = 0; i < checks.length; i++ ){
   checks[i].checked = objCheck;
// name이 'cp_no' 인 checkbox는  id가 allck인 checkbox의 checked 상태와 같게 된다. 

  }
 }

function deleteGo(){ //여러 게시물을 선택하고 삭제하기
  var listForm = document.getElementById("listForm");
  listForm.action = "../cafe/cafeDelete.jsp?blc_no=<%=blc_no%>";
  listForm.submit();
 }
 //-->
</script>

jsp 부분

<form name="listForm" id="listForm" action="" method="post">
<input type="checkbox" id="allck" name="allck"  onclick="allCk(this.checked);">
<%
int vectorSize = 5;
for( int i=0; i<vectorSize; i++ ){
%>
<input type="checkbox" name="cp_no" value="<%=(i+1)%>" >
<%
}
%>
<a href="#" onclick="deleteGo(); return false;"><img src="../files/images/boardCafe/btn_remove.gif" alt="삭제" /></a>
</form>

java 부분

String[] cp_no = getParameterValues("cp_no");
String whereStr = "";
//getParameterValues를 이용 배열로 받는다.
 if( cp_no.length != 0 ){
          whereStr = " and  cp_no in ( ";  // in(or)이용
          for( int i=0; i<cp_no.length; i++ ){ //배열의 길이만큼 for문으로 돌린다
whereStr += cp_no[i];
  if( i != (cp_no.length-1) ){
whereStr += " , ";
  }
          }
whereStr += " )  ";
 }
 buffer.append(" UPDATE TBLCAFEPOST SET ")
                  .append(" CP_ISDELETE = 'Y'")
                  .append(" where blc_no = ").append(utilBean.convertDB(getParameter("blc_no")))
                  append(whereStr); 
            
            query = buffer.toString();
       
            buffer.delete(0, buffer.length());
            iAffected = stmt.executeUpdate(query);
            if ( iAffected != 1 ) {
              throw new SQLException("ERROR! " + iAffected + " rows effected, QUERY : " + query);
            } else {
              htReturn.put("isOK", "Y"); //Hashtable에 성공 여부 저장
            }


Posted by 알 수 없는 사용자 :

일정한 사이즈의 공간에 ex.100x100 이미지의 비율을 맞추어서 사진을 출력하려면
이미지를 불러온다음 자바스크립트로 비율을 조정합니다.
하지만 이미지 사이즈가 클경우 로딩중에는 이미지의 원본 사이즈가 그대로 남아있어서
로딩중 화면이 깨지고 큰이미지가 잠깐동안 보이는 문제가 있습니다.

해결방법은.

1. 이미지가 속해있는 부분을 div로 감싼다음 display:none 으로 로딩
2. 이미지 로딩후 자바스크립트로 display:none 해제
3. <IMG> 태그부분을 읽어와서 이미지 리사이즈

이렇게하면 리사이즈 과정이 보이지않으므로 순간적으로 프레임이 깨지는등의 문제가
발생하지 않음.
로딩까지의 시간이 길다면 미리 "이미지 로딩중 입니다." 라는 메세지를 보여주고 로딩후 숨기면 됨.

HTML부 ----->
<script type="text/javascript"> //페이지 로드후 스크립트 함수를 실행하기 위함
window.onload = function(){
  ImageRatio(100,100);
}
</script>

<div id="loading">
    이미지 로딩중입니다.
</div>
<div id="imagelist" style="display:none;">
    <img src="aaaa.jpg" />
    <img src="bbbb.jpg" />
</div>

//HTML부 ----->

자바스크립트부 ----->
<script type="text/javascript">
function ImageRatio(wid, hei){
   document.getElementById('loading').style.display = "none"; //로딩중 숨기기     
   document.getElementById('imagelist').style.display = ""; //사진이 영역을 display
   var images = document.getElementById('imagelist').getElementsByTagName('IMG'); //이미지를 가져옴 (재현이형이 알려줌)
    for ( var i = 0; i < images.length; i++) {  //이미지의 갯수만큼
        if (images[i].height > images[i].width) { //너비가 큰사진일경우
            images[i].height = hei;
        } else {
            images[i].width = wid; //높이가 긴사진일경우
        }
    }
}
//정사각형에 가까운이미지이며, 표시될 영역이 직사각형이라면 리사이즈 후에도 지정한 영역보다 크기가 클수가 있으므로 리사이즈된 크기를 참고해서 다시 리사이즈를 해준다.
(지은선배가 알려준거임)
</script>
//자바스크립트부 ----->

파폭, 크롬에서는 리사이즈된 이미지가 나름 디더링되어서 깔끔하게 보이는데;;
익스는 그런거 안하는듯..;;ㅡㅡ

Posted by 알 수 없는 사용자 :
* 질문) a, b, c,d, obj 중 true 값은 무엇일까???
    var a = "";
    var b = 0;
    var c = "a";
    var d = 1;
    var obj = new Boolean();
   
    if(a){
        alert("a는 true");
    }
    if(b){
        alert("b는 true");
    }
    if(c){
        alert("c는 true");
    }
    if(d){
        alert("d는 true");
    }
    if(obj){
        alert("obj는 true");
   }
   * 답) c, d, obj
   * 개인적으로다 첨에 요걸 보았을때 a, b, c, d 에러가 나고 obj만 true가 되는줄 알았더니 왠걸, javascript 에서는 true는 0 이외의 숫자, 문자열, 오브젝트라고 하네..

* 질문) 아래를 수행하고 난 결과는?
  alert(1/0);
  alert(-1/0);

* 답) Infinity, -Infinity
* 에러가 날줄 알았는데 역시 틀림. java에서는 0으로 나누는 연산을 하면 ArithmeticException 이 발생하기 때문에 자바스크립트도 역시 에러가 발생할줄 알았는데
아니네...


.... 근데 위에 쓴것들 나만 몰랐나??????


Posted by 알 수 없는 사용자 :
아직도 예전소스들 열어보면
form1.b_no.value = 1;
요런 스크립팅을 볼 수 있는데
폼에 포함되지 않은 hidden객체가 존재한다면
document.getElementById('')
로 읽어주시고
폼내부객체 조작코드는 보이는대로
document.forms['form1'].b_no.value
형식으로 교체해주세요


Posted by 윤재현 :