2013-08-26 4 views
0

양식을 제출하기 전에 제출 된 값 (POST/GET 여부)을 확인하고 제출 된 값 앞에 '%'를 추가하는 방법을 모색 중입니다.양식 제출시 jquery

입력 ID/이름은 'm6070bcdx_field [58] [fldval]'입니다.

<script type="text/javascript"> 
    $(".form-horizontal").submit(function (event) { 
     if ($("#m6070bcdx_field[58][fldval]") != '') { 
      var cdx58 = $("#m6070bcdx_field[58][fldval]").val(); 
      $("#m6070bcdx_field[58][fldval]").val() = '%'+cdx58+'%'; 
      console.log('%'+cdx58+'%'); 
      event.preventDefault(); 
     } 
    }); 
</script> 
+0

이는 SQL 쿼리에 직접 삽입인가? –

+0

예 - 양식/모듈의 기본 동작은 LIKE 쿼리를 실행하고 검색 결과를 넓히기 위해 %를 추가해야합니다. – geepers

+2

예를 들어, 값을 변경하기 위해 자바 스크립트를 수정할 수 있습니다. ''% somevalue % '; DROP TABLE users; "'그러면 SQL에 직접 삽입 될 것입니까? –

답변

0

이 시도 :

$("#m6070bcdx_field[58][fldval]").val('%' + cdx58 + '%'); 

는 여전히 양식을 제출되도록 event.preventDefault()를 제거

나는 다음 시도했습니다. 당신은 항상 당신의 분야에 '%'를 추가하지 않을 수 있도록

이 같은으로 변경 할 수 있습니다 :

if (!cdx58.match(/^%.*%$/)) { 
    $("#m6070bcdx_field[58][fldval]").val('%' + cdx58 + '%'); 
} 
+0

제안 robbrit을 주셔서 감사합니다. 트릭을 수행하지 않는 것 같습니다. 여전히 값의 전후에 %를 표시하고 있습니다. – geepers

+0

추가 정보, event.preventDefault(); 값이 바뀌 었는지 테스트하고 확인하기 위해서만 일시적이었습니다. :) – geepers

+0

양식이 제출되기 전에 .submit이 실제로 처리되지 않는 것처럼 보입니다. 함수의 첫 번째 줄에 alert()을 삽입하려했으나 트리거되지 않았습니다. – geepers

관련 문제