2013-07-18 400 views
0

正在開發Chrome擴展。我想在用戶點擊按鈕時將輸入值(用戶名)更改爲某些文本。但我的解決方案不起作用。需要提醒。 我的代碼如下所示:當用戶單擊按鈕時,Javascript設置輸入值

<!DOCTYPE html> 
<html> 
<head> 
<META http-equiv=content-type content=text/html;charset=utf8> 
<META http-equiv=content-type content=text/html;charset=windows-1254> 
<META http-equiv=content-type content=text/html;charset=x-mac-turkish> 
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
<title></title> 
<script> 
    $('#target').submit(function() { 
    alert('something'); 
    return false; 
    $('#UserName').value('test'); 
}); 
</script> 
</head> 
<body> 
<form id="target"> 
<table> 
    <tr> 
    <td>UserName:</td> 
    <td> 
     <input type="text" id="UserName" size="20" /> 
    </td> 
    </tr> 
    <tr> 
    <td>Password:</td> 
    <td> 
     <input type="password" id="Password" /> 
    </td> 
    </tr> 
    <tr> 
    <td></td> 
<td><input type="button" value="Login" id="Login" /></td> 
    </tr> 
</table> 
</form> 
</body> 
</html> 

回答

1

這是工作細

$('input#Login').click(function() {   
    $('#UserName').val('test'); 
    return false; 
}); 
2

你的提交按鈕必須類型的「提交」

因此,這:

<input type="button" value="Login" id="Login" /> 

應該是:

<input type="submit" value="Login" id="Login" /> 

此外,用於獲取/設置輸入值相應的jQuery函數是.VAL()

最後,你不想返回false直到函數結束。

$('#target').submit(function() { 
    alert('something');  
    $('#UserName').val('test'); 
    return false; 
}); 

看到這個工作Fiddle

+0

我看着fidlle。是的,它的作品。但在我的擴展它不起作用。 – fuat

+0

您的控制檯是否收到任何JavaScript錯誤?上述可能是完成您使用jQuery指定的任務的正確方法。 – pmandell

+0

我正在開發Chrome擴展。當我在瀏覽器中打開我的html時,一切都很好,並且可以正常工作但是,當我安裝我的擴展到鉻沒有任何作品。我點擊了很多次的按鈕,但它只是刷新頁面,沒有警報沒有錯誤。 – fuat

2

從類型按鈕更改您的提交按鈕提交來自:

<input type="button" value="Giriş" id="Login" /> 

到:

<input type="submit" value="Giriş" id="Login" /> 

而且改變你的JS代碼:

$('#target').submit(function() { 
alert('uyarı'); 
return false; 
$('#UserName').value('deneme'); 

到:

$('#target').submit(function() { 
alert('uyarı');  
$('#UserName').val('deneme'); 
return false; 
+0

嘗試,但沒有改變,除了形式清爽。 – fuat

1

jQuery的使用VAL,而不是VALUE

換句話說

<script> 
    $('#target').submit(function() { 
    alert('something'); 
    return false; 
    $('#UserName').val('test'); 
}); 
</script> 

,也是形式不是submitado改變輸入的類型,並提交給adciona FORM METHOD = "POST"

+0

感謝您的回答,但仍然沒有任何變化 – fuat

+0

@pale改變了外觀的反應 – 2013-07-18 14:06:38

+0

我正在開發鉻擴展。當我在瀏覽器中打開我的html時,一切都很好,並且可以正常工作但是,當我安裝我的擴展到鉻沒有任何作品。我點擊了很多次的按鈕,但它只是刷新頁面,沒有警報沒有錯誤。但是,當瀏覽器中的所有東西都可以正常工作。 – fuat

0

非常感謝你們。我發現。問題是,當你正在開發谷歌瀏覽器應用程序,你必須從HTML分離JavaScript代碼。否則JavaScript不工作。

相關問題