2017-08-03 83 views
0

我正在建立一個表單,當我提交它時會打開動作url。我想通過單擊按鈕提交表單,該表單不應打開目標網址,而是提交請求。以及我想在提交之後打印一條消息並在提交後清除表單。如何防止表單打開動作url並僅在提交時打印?

<form id="contact" action="https://control.msg91.com/api/sendhttp.php" method="post"> 
<h3>Send SMS</h3> 
<h4>Build in Process</h4> 
<fieldset> 
    <input name="authkey" type="hidden" value="auth key as required"/> 
    <input name="mobiles" placeholder="Mobile Number" type="text" tabindex="1" maxlength="10" required > 
</fieldset> 
<fieldset> 
<textarea name="message" placeholder="Type your message here...." tabindex="2" maxlength="320" required></textarea> 
</fieldset> 
<input name="sender" type="hidden" value="FAKEin" /> 
<input name="route" type="hidden" value="4" /> 
<input name="country" type="hidden" value="0" /> 
<fieldset> 
<button name="submit" type="submit" id="contact-submit" data-submit="...Sending">Submit</button> 
</fieldset> 
</form> 

任何幫助我該怎麼做? 我也可以添加一個隱藏的文本消息選項卡,應添加到消息選項卡在後/得到+而不是& 例如。 actionurl.php?AUTHKEY = custommade &手機= 9999999999 &消息=原單+消息+隱藏+消息&發件人= FAKEin &路線= 4 &國家= 0 &提交=

您也可以檢查https://www.tricksbygoogle.com/sms/sms.php頁面的源代碼

+0

你能多解釋一下嗎?你想在post/get方法 – Sahathulla

+0

@Sahathulla在https://www.tricksbygoogle.com/sms/sms.php當有人輸入一個數字和一條消息時,它會觸發https://control.msg91.com/api/sendhttp .php?參數,但它會打開頁面https://control.msg91.com/api/sendhttp.php。我想這樣做:當一個消息被提交時,它應該調用url,但不應該重新加載頁面,應該打印MESSAGE SENT並且應該清除表單。 –

回答

0

根據你的問題和評論,你將不得不做一點研究。這裏有一些技巧。

  1. 如果您希望包含頁面中的功能而不實際訪問該頁面,則可以使用所謂的include聲明。這樣可以防止瀏覽器在執行時訪問該頁面。 - http://php.net/manual/en/function.include.php
  2. 要顯示一條消息,您將需要使用javascript隱藏和顯示元素。我會建議查看這個問題 - Hide div after a few seconds

基本上提交,你會想檢查你的表單中的變量。你會運行一個php if聲明。

然後,如果這些變量存在,您將要包含您的操作頁面。

在相同的if語句中,您將想要echo a <div>帶有一些JavaScript附加到它幾秒鐘後隱藏它的類。

表單將在提交時自動清除。

if($variable != null){ 
    include '/action.php' // --- you can add some GET variables to the end of this if you would like to. 
    echo '<div id="message">Message sent</div>' 
} 
+0

嗨,我是新來的PHP和JS。您可以在tricksbygoogle.com/sms/sms中解決此問題嗎?當有人輸入一個數字和一條消息觸發control.msg91.com/api/sendhttp.php?parameters但是它打開頁面control.msg91.com/api/sendhttp.php。我想這樣做:當提交一條消息它應該調用url但頁面不應該重新加載,一個MESSAGE SENT應該被打印並且表單應該被清除 –

+0

我不能夠回答你的所有問題,就像很多這些你需要研究自己。我編輯了我的答案,並給了你一些資源和步驟。我會建議的另一件事是從一個更簡單的問題開始,讓它起作用,然後在你開始工作之後,將這些相同的原則應用到這個問題上。祝你好運! – Blaise

0

基本上你不能。 我看到的唯一解決方案是使用ajax查詢並使用javascript來清除表單。 我提供的這個例子根本沒有重定向。什麼意思你的頁面將不會被重新加載。

也許小jQuery會幫助。

var result_func = function(response){ 
    if(response.allOk){ 
    $this.reset(); 
} 
} 

$('#contact').submit(function(e){ 
    e.preventDefault()l 
    var $this = $(this); 
    var data = $this.serialize(); 
    $.post($this.attr('action'),data,result_func.bind($this)); 
}); 

標頭位置將工作,但用戶仍然會被重定向。

+0

有人幫我在此信息之前,但現在不可用,他使用jQuery和js。問題是我是一個新的學習者,目前正在學習html,css和#c。我需要關於這個主題的幫助,其中包括js或jquery。 –