2013-06-25 47 views
0

我想單擊一個按鈕,將我的網址輸入到彈出框中,然後自動將此新鏈接提交到表單以更新我的數據庫。從JavaScript彈出框傳遞字符串到輸入表格

JavaScript函數:

function flickrFunction() { 
    var x; 
    var flickr =prompt("Please enter your Flickr URL","<?=$flickrLink?>"); 
    if (flickr!=null) { 
     x = flickr; 
     document.getElementById("fl").value = x; 
    } 

PHP/HTML

<?php } if(!empty($flickrLink)){ ?> 
    <a><button onclick="flickrFunction()" style="width: 45px; height: 45px; border: none;"> 
     <img src="../images/social/fl.png" width="40" height="40"></button></a> 
<?php } else { ?> 
    <a><button onclick="flickrFunction()" style="width: 45px; height: 45px; border: none;"> 
     <img src="../images/social/flAdd.png" width="40" height="40"></button></a> 
<?php } ?> 

HTML表單

<form method="post" action="admin.php"> 
    <input type="hidden" name="submitSocial" value="true"/> 
    <input type="hidden" name="fl" id="fl" value="<?=$flickrLink?>" 
     onchange="this.form.submit();"/> 
</form> 

我不能看到我這個去錯了。任何幫助,將不勝感激。

+0

是否有顯示在控制檯中的任何錯誤?請注意,您發佈的代碼缺少flickrFunction的右大括號 - 您的真實代碼是否有正確的右大括號? – elias

+0

正如Elias所說,你關閉了'flickrFunction()'函數中的'if'條件語句,但是你不關閉函數本身! –

+0

我認爲onchange事件不適用於隱藏的輸入,因爲這些事件是用於用戶交互的,並且隱藏的輸入不具有用戶交互。 –

回答

1

也許你應該提交表單更改值後...

此外,提供一個名稱的形式

<form name="myform" method="post" action="admin.php"> 


// Script 
... 
document.getElementById("fl").value = x; 
document.myform.submit(); 
+0

非常感謝,我知道這是簡單的我錯過了。 –