2009-10-05 5 views
1

나는 아주 간단한 일을하려하고 있다고 믿습니다. 사용자가 친구 목록에 누군가를 추가하기 위해 클릭 한 후에 성공 확인 대화 상자를 팝업해야합니다. URL (mysite.com/add/friendname)이있는 페이지에 링크를 추가하기 만하면됩니다. 이 요청을 비동기 적으로 발행해야하므로 jQuery.ajax 내장 함수를 사용하여 요청을 보냈다. 다음 코드를 살펴 :

jQuery를 사용하는 팝업?

$(document).ready(function() { 
    $('.track_links').click(function() { 
     if (confirm("are you sure you want to track <firstname lastname>?")) { 
      $.ajax({ 
       type: "GET", 
       url: this.href, 
       success: function() { 
       alert("Congratulation! you're now tracking <firstname lastname>"); 
       }, 
       error: function() { 
        alert("Oops! An error occured, plz try again later!"); 
       } 

      }); 
      return false; 
     } 
     else {   
      return false; 
     } 
    }); 
}); 

지금 여기에 내가 한마디해야 할 작업은 다음과 같습니다
1 - 나는 이미 성공 또는 실패 확인 메시지로 HTML 양식을 설계 사용할 필요, 그냥 경고하는 대신에!
2 또한 해당 HTML 페이지의 자리 표시 자 (### username ###)를 문서의 다른 필드 값인 실제 사용자 이름 (성명 공백 이름)으로 바꿔야합니다. 클라이언트에서 팝업하기 전에이 html을 조작하는 방법은 무엇입니까?

p.s : 내 Html/Javascript 기술은 완전히 굉장합니다.) (글쎄,별로)! 첫 번째 부분

를 들어

답변

1

당신은 아약스 성공 기능에 사업부를 보여주기 위해

show

기능을 사용할 수 있습니다.

$("#divResult").show(); 

divResult은 DIV의 ID가 두 번째의 경우

을 표시하는 경우

사용 성과 이름의 값을 얻을 수 있습니다

$("#txtFirstname").val(); 

$("#txtLastname").val(); 

첫 번째 이름 텍스트 상자 ID가 txt 이름이고 성 텍스트 상자 ID가 txtLastName 인 경우

+0

같은, 당신은 표시하기위한 것입니다이 divResult 이미 주입되는 것을 가정하고 시도해야 원본 문서? 동적 인 서버 리소스에서 컨텐츠를 얻고 싶다면 어떻게해야합니까? 예 : ContentResult로 필요한 html을 반환하는 액션 메서드에서 나오는 팝업 콘텐츠가 필요합니다. – Galilyou

+0

그런 다음 html() 메서드를 사용하여 내용을 지정할 수 있습니다. – rahul

0

양식의 경우 제공해야하는 원시 HTML을 삽입하는 html() 방법을 제안합니다. 이미 가지고 있기 때문에 매개 변수를 통해 Method에 줄 수 있습니다.

자리 표시 자 부품의 경우 메소드와 Javascript의 built-in regex functions을 결합 할 것을 제안합니다.

당신의 자리 "### FIRSTNAME ###"을 경우, 당신은 그래서

var firstname = jQuery('input#firstname').val(); 
var lastname = jQuery('input#lastname').val(); 
var text = jQuery('span#ThePlaceMyPlaceholderIsAt').text(); 
text = text.replace(/\#\#\#firstname\#\#\#/,firstname); 
text = text.replace(/\#\#\#lastname\#\#\#/,lastname); 
jQuery('span#ThePlaceMyPlaceholderIsAt').text(text);