input 박스 문자열 전송 관련하여 질문드립니다.(#문자)
본문
현재 input 박스의 id값으로 아래와 같이 get 방식으로 전송을 합니다.
<input id="ips" type="text" name="ips" style="width:70%" value="<?php echo $write[ips] ?>" required>
<input type="button" value="중복확인" onclick="javascript:window.open('../detection_sch/check_ips.php?id='+document.getElementById('ips').value, 'IPS check', 'left=200, top=200, width=250, height=100 , scrollbars=no, resizable=yes')">
받는 쪽에서는
$id = $_GET['id'];
문자열을 확인하는데...
'#' 문자열이 들어가면 아무래도 주석처리가 되어 값이 전송되더라도 빈값이 들어가는 것 같습니다.
그래서 아래와 같은 방법으로 받는 쪽에서 변환을 시켜 보려고 했는데... 안되더라구요...
받으면서 바로 바뀌어버려서 주석처리 되는 것 같은....;;;
$trans = array("#" => "#");
$id = $_GET['id'];
$id = strtr($id, $trans);
전송하는 쪽에서 코드를 어떻게 바꿔주면 될런지... 능력자분들의 관심 부탁드리겠습니다.. (_ _)
가져다가 살짝 바꾸어서 쓰고 하는 초보다 보니.. 기존에서 응용을 할려니.. 생각만큼 쉽지 않네요... ㅎㅎㅎ
답변 3
저도 간단하게 봤는데 의외로 이런경우가 잘없어서 생각좀 해봤네요.
받는곳에서는 안댈거같구여
넘겨주기 전에 스크립트값에서 #을 다른걸로 대체하면 댈거같네요.
<input id="ips" type="text" name="ips" style="width:70%" value="<?php echo $write[ips] ?>" required>
<input type="button" value="중복확인" onclick="ips();">
<script>
function ips(){
var ips = document.getElementById('ips').value;
if(ips){
ips = ips.replace("#","1234");
}
window.open('../2.php?id='+ips, 'IPS check', 'left=200, top=200, width=250, height=100 , scrollbars=no, resizable=yes');
}
</script>
$id =strtr($_GET["id"], "#", "&35");
와 같이 하면 되지 않나요?
답변 주셔서 감사드립니다.
받는 쪽에서는 바꿔도 잘 되지 않더라구요.. 그래서 보내는 쪽에서 톰소여님께서 쓰신글과
따로 검색한 내용을 참고하여.... 아래와 같이 바꾸니 잘 되네요... ㅎㅎㅎ
답변 주신분들 다시 한번 감사드립니다. (_ _)
<input id="ips" type="text" name="ips" style="width:70%" value="<?php echo $write[ips] ?>" required>
<input type="button" value="중복확인" onclick="javascript:window.open('../detection_sch/check_ips.php?id='+(document.getElementById('ips').value).replace(/#/g,'%23'), 'IPS check', 'left=200, top=200, width=250, height=100 , scrollbars=no, resizable=yes')">