2014-09-24 78 views
0

我運行一個應用程序,可以縮短認證用戶的URL。這個應用程序的表單只是一個完整的url的輸入,然後吐出一個縮短的url。JQuery按鈕需要url並提交php表單

我想建立一個按鈕,可以添加到生成的網頁(網址是漫長而雜亂的),並且一旦點擊就會自動提交網址縮短表單。

URL縮短應用程序在PHP中運行。我已閱讀了一些關於使用ajax提交表單的信息。如果它位於不同的網站上,這很重要嗎?有沒有人有這樣的事情一個很好的教程或起點?

非常感謝!

編輯,包括代碼:

<form action="" method="post"> 
    <label for="form_url">Which URL do you want to shorten?</label> 
    <input type="url" id="form_url" name="form[url]" required="required" value="http://"> 
    <input type="hidden" name="form[_token]"> 
    <button type="submit" role="button">Shorten URL</button> 
</form> 



$(document).ready(function() { 
    $('a.btn').click(function() { 
    var pathname = window.location; 

    $.ajax({ 
    type: "POST", 
    url: 'http://url', 
    data: $(pathname).serialize, 
    success: success, 
    dataType: text 
    }); 
}); 
}); 
+0

這絕對可以用'.ajax()'完成。但是,如果表單位於不同的網站上,那麼如何將此按鈕附加到「生成的頁面」?我有點困惑。如果你能澄清這一點,我相信我們可以提供幫助。 – Ohgodwhy 2014-09-24 17:52:10

+0

@Ohgodwhy,這聽起來真棒,我很欣賞我的反饋,至少我正朝着正確的方向前進。 我在這個應用程序上工作,另一個同事在我們想要追加這個按鈕的應用程序上工作。 – Moose 2014-09-24 17:56:16

+0

所以你想把這個按鈕放在窗體外部的頁面上?然後將縮短的url返回到提交按鈕的頁面? – 2014-09-24 18:01:23

回答

0

沒有太多的去考慮你沒有發佈任何代碼,但我覺得你問的是:

<form id="myForm" method="post"> 
    <input type="text" name="long_url"/> 
    <input type="submit" value="Send"/> 
</form> 

現在在JavaScript中,你會捕捉提交事件並調用和Ajax請求:

$("#myForm").submit(function(e){ 
    e.preventDefault(); 

    $.ajax({ 
     type: "POST", 
     url: "urlOfPhp", 
     data: $("#myForm").serialize(), 
     success: function(returned_data) { 
      // Handle Success Here. 
     } 
    }).error(function(){ 
     // Handle an Error Here. 
    }); 
}); 

這就是阿賈克斯的基礎知識。我也不清楚生成的頁面按鈕的事情,但這是一個很好的起點。

+0

我想我有類似的東西。我編輯了我的原始文章以包含代碼。 – Moose 2014-09-24 18:13:35

+0

@Moose打印出您的返回數據並將其發回此處 – 2014-09-24 18:16:57

+0

@RussellBevan,我想我有點困惑。如何指定當前頁面url應該添加到輸入然後提交?在我的應用程序中只有一個輸入爲url,但它是否需要指定「在提交」表單之前將該變量(長亂的url)放入它中? 到目前爲止,我的所有測試 – Moose 2014-09-24 18:37:12