2017-09-20 89 views
1

我想顯示一個確認對話框,如「您要繼續嗎?」如果「是」,我想彈出消息顯示錶單輸出,如果「否」,我想留在同一頁面上。我想在顯示輸出之前顯示確認對話框

在下面顯示的代碼中,我導航到facto.html用於顯示輸出,但是我想顯示一個帶有其內容的彈出窗口。我怎樣才能做到這一點?

index.html

<!DOCTYPE html> 
<html> 
    <head> 
    <title>Lift From Scratch</title> 
     <script type="text/javascript"> 
     <!-- 
      function getConfirmation(){ 
       var retVal = confirm("Do you want to continue ?"); 
       if(retVal == true){ 
        <!--document.write("continue")--> 
        <!--window.location.href = '/facto.html';--> 
        return true; 
       } 
       else{ 
        alert("Don't continue") 
        <!--window.location.href = 'index.html';--> 
        return false; 
       } 
      } 
     //--> 
     </script> 
    </head> 
    <body> 
    <h1>Finding Factorial</h1> 
    <div id="main" class="lift:surround?with=default&at=content"> 
     <form method="post"> 
      <table> 
       <tr><td> Enter a Number:</td> <td><input name="num" type="number"></td></tr> 
       <tr><td><input type="submit" value="Submit" onclick="getConfirmation();" formaction="facto"></td> 
        <td><input type="reset" value="Reset"></td> 
       </tr> 
      </table> 
     </form> 
     </div> 
    </div> 
    </body> 
</html> 

facto.html: 
<div data-lift="factorial"> 
    <p>Factorial is: <span name="paramname"></span></p> 
</div> 

回答

0

嘗試是這樣的:

function validateMyForm() 
 
{ 
 
    if(confirm('Are you sure?')) 
 
    return true; // will submit the form 
 
    else 
 
    return false; // do not submit the form 
 
}
<form name="myForm" onsubmit="return validateMyForm();"> 
 
    <input type="submit" value="Submit" /> 
 
</form>

0

你會可能要回落到JavaScript的這一個,是誠實。您可以使用Lift的SHtml.makeFormsAjax助手將表單設置爲AJAX表單,然後您可以使用SHtml.ajaxSubmit綁定您的提交按鈕。您傳遞給ajaxSubmit的回撥應返回JsCmdJsCmd可以觸發彈出窗口的顯示。您甚至可以使用SHtml.idMemoize來呈現彈出窗口的內容。

如果你在Lift group上詳細描述這個問題,你可能會發現人們願意幫助你解決它的一些更具體的問題。