2012-05-04 49 views
0

我想替換類與由jquery的dialog.problem用戶提供的用戶名當前選擇器的「用戶名」類的元素的是,我不能用戶$(本).attr() jQuery的對話框按鈕堂妹它裏面將涉及的jQuery dialog.Please建議如何與用戶輸入的替代詞語username jQuery中dialog.Thanks提前修改內部jquery的對話框

<form action="#" method="post" > 
</form> 
<p id="text" class="www.username.google.com"> click me </p> 
<div id="test" class="sandy" > 
    <input id="username" class="sandy1" /> 
</div> 

============ ================================================== ================

$('#text').click(function(){ 
    var provider_url= $(this).attr('class'); 
    $('.sandy').dialog({ 
     buttons: { 
      "OK": function() { 
       if($('#username').val() == '') { 
        $('#username').focus(); 
       } else { 
        var myvalue= $("#username").val(); 
        var nextval= replace(provider_url, username,myvalue); 
        $(this).dialog('close'); 
        alert(nextval); 
        $('form').append(nextval); 
        $('form').submit(); 
       } 
      } 
     } 
    }); 
}); 

jsfiddle代碼演示在這裏http://jsfiddle.net/zCFD5/127/.Please幫我出來

+0

這是如何與PHP? – fhugas

+0

我的HTML代碼中,我省略了遲來爲簡潔的PHP中使用,但亞ü可以說其沒有涉及到PHP – user1364146

+0

你希望由用戶提供的文本,以取代ID「用戶名」,當你點擊#text? – Gaurav

回答

1

試試這個:

$('#text').click(function() { 
    var provider_url = $(this).attr('class'); 
    $('.sandy').dialog({ 
     buttons: { 
      "OK": function() { 
       if ($('#username').val() == '') { 
        $('#username').focus(); 
       } else { 
        var myvalue = $("#username").val(); 
        var nextval = provider_url.replace(/\.username\./, "." + myvalue + "."); 
        $(this).dialog('close'); 
        alert(nextval); 
        $('form').append(nextval); 
        $('form').submit(); 
       } 
      } 
     } 
    }); 
}); 

Example fiddle

,雖然你確實應該使用data屬性對於這一點,而不是將其存儲在class值得注意。你需要升級你的jQuery版本才能做到這一點。

而且,我包括領導和正則表達式尾隨.讓你絕對更換URL的右側部分的情況下是這樣的:http://www.username.superusername.com

1

首先,你目前的問題不是由於「this」引用問題,而是由於錯誤的js/jQuery代碼。

相反的:

var nextval= replace(provider_url, username,myvalue); 

寫:

var nextval= provider_url.replace('username', myvalue); 

,它會更好地工作。

編輯:正如Rory所說,不要使用class屬性來存儲值。這不是一個好方法。如果你已經知道最終的url,也許你可以將它硬編碼到你的按鈕回調中。如果你的字符串可以改變,也許將它傳遞給一個函數參數,它將創建你的對話框。

+0

tahnks你們羅裏McCrossan和Mordhak.i了我mistake.thanks的幫助 – user1364146