채택완료

id값으로 input박스의 값을 식별하여 자바스크립트 함수값으로 불러오려는데 안되는데 뭐가 잘못된걸까요?

아래와 같이 input의 id를 식별자로 사용해서 id="interest" input박스의 값을 함수로 불러오려고 하는데 val 값이 인식이 안되는데요..뭐가 잘못된 것인지 잘모르겠는데, 도움주시면 감사하겠습니다..

 

 

Copy
<td style="text-align: center">
    <input type="number" id="interest" idx="<?=$row['idx']?>" mb_id="<?=$row['mb_id']?>">
    <input type="button" value="신청" class="btn" onClick="withdraw(interest)" >            
</td>

<script>
function withdraw(idStr) {
    var val = jQuery('#' + idStr).val();

    if (!val) {
        alert('올바른 값이 아닙니다.');
        return;
    }
    if (confirm('인출하시겠습니까?')) {
        var idx = input.attr('idx');
        var mb_id = input.attr('mb_id');
        jQuery.post('/withdraw.php', {
            idx: idx,
            mb_id: mb_id,
            val: val
        }, function(data) {
            alert(data);
            location.reload();
        });
    }
}
</script>
|

답변 3개 / 댓글 5개

채택된 답변
+20 포인트

<input type="button" value="신청" class="btn" onClick="withdraw(interest)" > 
이걸
 <input type="button" value="신청" class="btn" onClick="withdraw('interest')" > 
이렇게 바꿔보세요. interest를 텍스트로 넘겨야했네요

답변에 대한 댓글 4개

아넵 그렇게 했더니 "올바른 값이 아닙니다." 라는 메시지가 나오는데요,
input에 아무 값이나 넣어보셨나요?
네 1, 2와 같이 숫자를 넣어보았는데, "올바른 값이 아닙니다."라는 메시지가 나옵니다.. 한참을 보고 있는데 무슨 문제인제 도통 모르겠네요.. ㅜㅜ
일단 문제는 해결했습니다, 백앤드쪽에서 타이핑 문제였던것 같습니다
도움주셔서 감사합니다~^^

    <input type="number" id="interest" idx="<?=$row['idx']?>"
value="xxxx" 를 추가해 보세요.
 mb_id="<?=$row['mb_id']?>">

input을 변수로 저장해보세요.

Copy
<td style="text-align: center">
    <input type="number" id="interest" idx="<?=$row['idx']?>" mb_id="<?=$row['mb_id']?>">
    <input type="button" value="신청" class="btn" onClick="withdraw(interest)" >            
</td>
<script>
function withdraw(idStr) {
    var input = jQuery('#' + idStr);
    var val = input.val();
    if (!val) {
        alert('올바른 값이 아닙니다.');
        return;
    }
    if (confirm('인출하시겠습니까?')) {
        var idx = input.attr('idx');
        var mb_id = input.attr('mb_id');
        jQuery.post('/withdraw.php', {
            idx: idx,
            mb_id: mb_id,
            val: val
        }, function(data) {
            alert(data);
            location.reload();
        });
    }
}
</script>

답변에 대한 댓글 1개

네 감사합니다. 그런데 그렇게 했는데요, 안되더라고요..
이런식으로 했던거 같은데 이러저리 해봐도 안되니 참 이상하네요..

답변을 작성하려면 로그인이 필요합니다.