2016-01-02 75 views
0

當我問這個問題時,我感覺有點白癡,但我真的需要你的幫助來構建這個,因爲我對Javascript和Chrome開發的知識仍然很差。我有實驗形式是簡單的HTML頁面上Chrome擴展程序 - 用擴展名中的預置值替換POST數據

http://alcatra.ideatech.cz/chrome_plugin_experiment.php

chrome_plugin_experiment.php

<!DOCTYPE HTML> 
<html> 
<body> 
<div class="content"> 
    <div class="heading"> 
     <h2>Chrome Plugin Experiment</h2> 
    </div> 
    <div class="formdiv"> 
     <form action="welcome.php" method="post"> 
      <div class="form-div-name-class"> 
       Name: <input type="text" name="experiment-chrome-testname" class="form-input-name-class" id="form-input-name-id"> 
      </div><br> 
      <div class="form-div-favcolor-class"> 
       Favourite color: <input type="text" name="experiment-chrome-testfavcolor" class="form-input-favcolor-class" id="form-input-favcolor-id"> 
      </div><br> 
      <div class="form-div-submit-button"> 
       <input type="submit" name="experiment-chrome-submit" class="form-input-submit-class" id="form-input-submit-id"> 
      </div> 
     </form> 
    </div> 
</div> 
</body> 
</html> 

的welcome.php

<html> 
<body> 

Welcome <b><?php echo $_POST["experiment-chrome-testname"]; ?></b>, how are you?<br> 
You said your favourite color is: <b><?php echo $_POST["experiment-chrome-testfavcolor"]; ?></b> 

</body> 
</html> 

,我需要建立一個非常簡單的Chrome擴展,這將是在每個頁面上都有效我訪問並且只在HTML代碼中的<input name="experiment-chrome-testname"><input name="experiment-chrome-testfavcolor">的頁面上使用,此插件將完成其工作。我需要此擴展名獲取提交的表單POST數據,並用分機中預設的值替換它們,因此結果頁面會顯示與我最初輸入表單中不同的值。

例子:當我鍵入任何名稱(eg'David「)將其命名爲任何顏色(如‘紅’)到色域,之後我點擊提交按鈕,我的分機將取代‘大衛’ - >'Peter'和'red' - >'blue',其中'Peter'和'blue'是手動設置的擴展名爲的JavaScript代碼。我將被重定向到頁面「的welcome.php」,我會看到:

Welcome Peter, how are you? 
You said your favourite color is: blue 

即使在我輸入任何東西在前面的形式不同。

我會衷心感謝任何人爲我寫這篇文章或解釋我至少要如何進行。請不要責怪我,我花了幾個小時的時間用Google搜索,但我仍然不知道應該把什麼放到後臺腳本中,以及我的情況下還有什麼內容腳本。

+0

還是沒有想法的人? : - ( –

回答

1

爲什麼要使用擴展而不是純JavaScript?在純JavaScript中,您可以使用

var myForm = document.getElementById("myFormId"); 

首先獲取表單,然後添加事件偵聽器並修改發佈數據。

myForm.addEventListener('submit', function(event) {...}); 

BTW,根據Issue 91191,我們現在不能修改Chrome擴展形式的數據。