2017-08-03 9 views
1

私のコードを見てください。結果を見て、新しいウィンドウを開くのを避けたい。私は同じウィンドウ内の現在のコンテンツの代わりに結果を表示しないようにしたいと思います。ウォッチの結果、新しいウィンドウを開くのを避けるにはどうすればよいですか?

私は https://jqueryui.com/dialog/ (JQueryUI)ダイアログウィンドウに結果を表示するためにAJAXを使用することについて考えているが、私はどのように考えていますか?事前にありがとう:)

HTML:result_browser.html

<form class="form" method="post" id="resultbrowserform"> 

    <!--Something--> 

    <button type="submit" class="btn btn-default"> Apply </button> 
</form> 

<div id="dialog" title="Details"> 
    <p></p> 
</div> 

JS:

$(function() { function serializeForm(form){...} 

... 

$('#resultbrowserform').submit(function() { 
    $.ajax({ 
     type: 'POST', 
      url: '/result_browser/data/', 
      data: serializeForm($('#resultbrowserform')), 
      success: function (data, status, jqXHR) { 
       $('#resultbrowsertablecontainer').remove(); 
       data = data.data; 
       if (!data.length) { 
        window.alert('No data for selected time period'); 
        return; 
       } 

       div = $('<div id="resultbrowsertablecontainer">'); 
       table = $('<table class="table table-striped">'); 
       header = $('<thead>'); 
       header.append($('<tr>') 
        .append($('<th>').html('Die Id')) 
        .append($('<th>').html('Application')) 
        .append($('<th>').html('Result')) 
       table.append(header); 
       body = $('<tbody>'); 
       for (i = 0; i < data.length; i++) { 
        row = $('<tr>'); 
        row.append($('<td>').html(data[i].die_id)); 
        row.append($('<td>').html(data[i].application)); 
        row.append($('<td>').html(data[i].result)); 

        <!--I would like to avoid opening a new window--> 
        link = $('<a>').attr('target', '_blank').attr('href', '/result_details/' + data[i].result_id + '/').html('Details'); 

        row.append($('<td>').append(link)); 
        body.append(row); 
       } 
       table.append(body); 
       div.append(table); 
       $('#resultbrowsercontainer').append(div); 
      } 
     }); 
     return false; 
    }); 
}); 
+0

これを削除するだけです: '.attr( 'target'、 '_blank')' –

答えて

0

単にターゲット属性を削除し、それが自分自身の内側に開きます。

<!--I would like to avoid opening a new window--> 
link = $('<a>').attr('href', '/result_details/' + data[i].result_id + '/').html('Details'); 
+0

同じウィンドウ内の現在のコンテンツの代わりに結果を表示しないようにしたいですか? –

+0

起こる?それはあまり明確ではない –

+0

質問を編集し、どのオプションを選択することをお勧めします –

関連する問題