2014-12-24 2 views
0

Backbone.js로 만든보기가 있고 div 요소에 삽입되었습니다. 약 1 초 동안 표시되고 사라집니다. HTML 여기백본보기가 사라지는 모습

var Player = Backbone.Model.extend({ 
    defaults: { 
     ID: "", 
     firstName: '', 
     lastName: '' 
    }, 

    idAttribute: "ID" 
}); 

된다 :

<form onsubmit="addNewPlayer();"> 
     <input type="submit" value="Add New Player New"/> 
</form> 

<p> 
<div id="addPlayerDiv"></div> 
</p> 

<script> 

     function addNewPlayer() { 
      var player = new Player({}); 
      var newPlayerView = new addPlayerView({el: $("#addPlayerDiv"), model: player}); 
      newPlayerView.render(); 
     }; 

</script> 

addNewPlayer() 함수는 여기

var addPlayerView = Backbone.View.extend({ 
    tagName: "div", 
    model: Player, 
    id: 'addPlayerDiv', 

    initialize: function() { 
     console.log('addPlayerView has been created'); 
    }, 

    render: function(){ 
     this.$el.html('<p>show this puppy</p>'); 
     return this; 
    } 
}); 

가 모델 : 여기

뷰 내 코드입니다 올바르게 호출되고 newPlayerView가 페이지에서 렌더링되지만 잠시 동안 만 페이지에서 사라집니다.

어떻게해야할지 모르겠다. 누구든지 전에이 문제가 있습니까?

+0

페이지를 다시로드합니까 (우리의 경우 onsubmit 시도는 서버로 데이터를 전송) 기본 작업을 취소해야합니까? –

+0

아니요, 페이지를 새로 고침하고 다시로드하지 못한다고 말할 수있는 호출이 없습니다. –

답변

3

당신은

<form onsubmit="addNewPlayer(); return false;"> 

또는

<form onsubmit="addNewPlayer(event);"> 

function addNewPlayer(e) { 
    e.preventDefault(); 
    ..... 
} 

Example

관련 문제