2015-11-27 2 views
-2

enter image description here предотвратить диалог подтверждения при перезагрузке страницы с помощью javascript ... внизу страницы есть ссылка на верхнюю страницу. в onclick необходимо перезагрузить страницу без подтверждения диалогового окна. должны избежать этого ...запретить диалог подтверждения при перезагрузке страницы

function getFormData(dno, rno) { 
     var name = document.getElementById("f_nickname").value; 
     var digNo = dno; 
     var resNo = rno; 
     var strVal = digNo + "-" + resNo; 
     stp.push(strVal); 
     var xhr = new XMLHttpRequest(); 
     if (!xhr) return false; 
      var url = 'ajax.php' + '?prc=' + 'diagnoses' + '&name=' + encodeURI(name) + '&diagres=' + stp; 
      alert('zzzzzzzzzzzzzzzz'); 
      xhr.open('POST', url, true); 
      xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8"); 
      xhr.onreadystatechange = function() { 
        handle_setVals(xhr); 
      }; 
      xhr.send(null); 
      return true; 

}

<form name="mainfrm" id="mainfrm" action="" method="post" enctype="multipart/form-data" style="text-align: auto;"> 
    <input type="hidden" name="f_store" id="f_store" value="" class="w-input"> 
    <div class="fullpage" id="fullpage"> 
     <section class="w-section fullsize-page background" id="title-page"> 
      <div class="title-page-header"></div> 
      <div class="title-page-contents"> 
       <div class="title-container"> 
        <div class="w-form"> 
          <input class="w-input name-field" id="f_nickname" type="text" placeholder="あなたのお名前" data-name="Name" name="f_nickname" > 
        </div> 
        <a class="w-inline-block play-button" href="#" onClick="playVideo('myVideo1'),getFormData('1','1');"></a> 
        <a class="w-inline-block play-button" href="#" onClick="playVideo('myVideo1'),getFormData('2','1');"></a> 
        <div class="play-button-label">プレイボタンを押してください</div> 
       </div> 
      </div> 
      <div class="title-page-footer"></div> 
     </section> 
     </div> 
     <div class="w-clearfix result7-page-message"> 
       <a class="w-clearfix w-inline-block print-button" href="#" onClick="topPage()"></a> 
     </div> 

function topPage() { 
     document.getElementById("f_nickname").value = ""; 
     window.location.reload() 

};

любая идея ..?

+1

Для чего это? Что это за вещи? Какой диалог подтверждения? – Ryan

+0

Пожалуйста, опишите свой вопрос четко ... –

+1

Вы хотите повторить запрос (сделать еще один POST) или просто иметь эквивалент навигации по странице? – Ryan

ответ

2

Отключив это, вы будете подвергать себя повторному POST, что будет означать дублируемую информацию, отправленную на ваш сервер. Для перехода к началу страницы свитка там с помощью

document.body.scrollTop = document.documentElement.scrollTop = 0;

+0

Он, кажется, использует [fullPage.js] (http://alvarotrigo.com/fullPage/). плагин, поэтому он должен использовать это вместо: '$ .fn.fullpage.moveTo (1);' – Alvaro

0

Обычный способ остановить подтверждение повторно POST, чтобы всегда перенаправлять из обработчика POST (который делает то, что изменения в состоянии вы должны сделать) на запрос GET (который будет отображать следующую страницу, после изменения). Таким образом, обновление будет только повторять запрос GET: никаких повторных запросов POST не происходит, подтверждение не требуется.

придется повторить пост .. если только навигация XMLHttpRequest не работает ...

Это не имеет никакого смысла для меня - нет никакой причины XMLHttpRequest не будет работать по своей природе, так что это что-то вы делаете (или не делаете), что мешает ему работать.

Смежные вопросы