2013-03-23 2 views
2

버튼이있는 클래식 검색 필드를 수행하고 있습니다. 단추에 Ajax.ActionLink를 사용하고 있는데 ActionLink에 텍스트 값을 게시하는 방법을 알 수 없습니다. 나는 다음과 같이 보입니다 :MVC 4/면도기 Ajax ActionLink의 텍스트 상자 값 가져 오기

<div class="input-append"> 
    <input type="text" id="Company_CompanyName" /> 
    @Ajax.ActionLink("search", 
        "CompanySearch", 
         new { searchString = "???" }, 
          new AjaxOptions 
          { 
           HttpMethod = "GET", 
           InsertionMode = InsertionMode.Replace, 
           UpdateTargetId = "CompanySearchResults" 
          }, 
          htmlAttributes: new { @class = "btn" }) 
</div> 

<div id="CompanySearchResults"></div> 

여기서 ??? 텍스트 상자에서 값을 가져 오는 방법을 모르는 곳입니다. 내가 뭘해야하나요?

UPDATE 1 : 원래 소식/질문에서 언급해야 같이 중첩 형

이며,이 제출되는 외부 형태가 중첩 된 형태, 즉이다. 따라서 Ajax.BeginForm()을 내부에 제출하면 외부 양식 제출을 호출합니다. 분명히 그것을 피하고 싶습니다. 하지 링크 -

답변

3

좋아요, 그래서 '바보 같은'링크/버튼을 만들고 자바 스크립트로 전달되는 모든 정보를 처리하려고합니다. 그것은 다음과 같이 보일 것입니다.

다음 스크립트에는 구문 오류가 있으므로 지침으로 만 사용한다고 생각합니다.

<input type="text" id="Company_CompanyName" /> 
<a href="#" id ="CompanySearch" class="btn">Search</a> 
<div id="CompanySearchResults"></div> 


<script type="text/javascript"> 
$('#CompanySearch').click(function() { 
    var searchTerm = $("#Company_CompanyName").text(); 
    $.ajax({ 
     url: @Url.Action("search","CompanySearch") , 
     type: 'POST', 
     contentType: 'application/json; charset=utf-8', 
     data: {'SearchTerm' : searchTerm} // JSON.stringify(searchTerm), 
     success: function(result) { 
      $('#CompanySearchResults').html(result); 
     } 
     }); 
    return false; 
}); 
</script> 
3

이 대답은 ... 이것에 대한 아약스 양식을 사용

링크가 양식을 섯되는 C/나는 조금 다른 대답을하려고합니다 b를 논쟁입니다. 다시 게시에 값을 포함하는 양식이 필요합니다.

@using (Ajax.BeginForm("search", "CompanySearch",new AjaxOptions { HttpMethod = "GET", InsertionMode =  InsertionMode.Replace, UpdateTargetId = "SearchResults" })) 
{  
<h1>Search</h1> 
<input type="text" placeholder="Search Terms" name="SearchTerms"/> 
<input type="submit" name="Command" value="Search" /> 
} 


<div id="SearchResults"></div> 
+1

이 양식은 외부 양식 내에 중첩되어 있기 때문에 부분적으로 만 작동하므로 제출 명령은 외부 양식을 호출합니다. – Anders

관련 문제