2012-11-21 3 views
12

예 :필드가없는 GET 양식에서 후행 물음표를 제거하는 방법은 무엇입니까?

http://example.com/? 

방법을 만드는 :에

<form> 
    <input type='submit'> 
</form> 

제출 결과

http://example.com/ 

?

[이것은 매우 간단한 문제의 예이며 실제 양식에는 많은 필드가 있지만 일부는 때때로 비활성화되어 있습니다. 모두 비활성화되면 후행? 나타난다]

+1

을 매달려 질문 그건 무엇을하려고하는이에게 그것을 가정입니다 마크는 부록과 같이 유용합니다 ... 때로는 문제가되는 것처럼 ... 해결 방법을 즐겼습니다! :-) – moodboom

답변

3

내가 에서는 window.location, 그것은 가장 좋은 대안입니다하지 않도록 사용하고 있지만, 나는 그것이 작동 할 수있는 유일한 사람입니다 :

$('#myform').submit(function() 
{ 
    ... if all parameters are empty 

    window.location = this.action; 
    return false; 
}); 

내 실제 사용 변환했다 그래서 여기에 전체 코드, 실제 URL 경로에 매개 변수를 GET :

$('#myform').submit(function() 
{ 
    var form = $(this), 
     paths = []; 

    // get paths 
    form.find('select').each(function() 
    { 
     var self = $(this), 
      value = self.val(); 

     if (value) 
      paths[paths.length] = value; 

     // always disable to prevent edge cases 
     self.prop('disabled', true); 
    });  

    if (paths.length) 
     this.action += paths.join('/')+'/'; 

    window.location = this.action; 
    return false; 
}); 
0

나는 비슷한 대답을 찾고 있었다. 내가 한 일은 클릭 할 때 특정 페이지로 리디렉션되는 버튼을 만드는 것입니다.

예 :

<button type="button" value="Play as guest!" title="Play as guest!" onclick="location.href='/play'">Play as guest!</button> 

이 질문에 "대답은"이 아니라 주위에 좋은 일이 될 수 있습니다. 이게 도움이 되길 바란다.

0

Javascript를 사용하지 않고서 나는 확실하지 않습니다. 당신이 빈 GET 요청을하지 않습니다

<input type="hidden" name="foo" value="bar" /> 

그 방법 : 문제를 완화하는 한 가지 방법은이 같은 다른 측면에서 무시할 수있는 정크 값을 유지하는 숨겨진 입력을 만들 수 있습니다. 내 경우

0

이 오래된 게시물은하지만, 헤이 .. 여기에 나중에는

이동3210

PHP와 같은 것을 사용하는 경우 헤더를 특정 위치 + 쿼리로 리디렉션하는 "프록시"페이지로 양식을 제출할 수 있습니다. 예를 들어

:

HTML :

<form action="proxy.php" method="get"> 
    <input type="text" name="txtquery" /> 
    <input type="button" id="btnSubmit" /> 
</form> 

PHP (proxy.php)

<?php 

    if(isset($_GET['txtquery'])) 
     $query = $_GET['txtquery']; 

     header("Location /yourpage/{$query}"); 


?> 

난 당신이

관련 문제