2013-03-17 47 views
0

此代码的目标是在我的Chrome扩展程序弹出窗口中从简单表单获取用户输入。当用户提交表单时,我想将该input字段中的值添加到myNames数组中。尝试在我的弹出框中提交表单并获取提交的值

popup.html

<form class="my-form"> 
    <input placeholder="Enter a name" class="name-to-submit"></input> 
    <a href="#" class="primary button submit">Add Name</a> 
    </form> 

在popup.js

var newName = $('.name-to-submit').val(); 
    if ($('.submit').click() && newName !== "") { 
    ... do some stuff 
    } 

我的问题是了newName总是未来通过为"",我想不通为什么...

我是否应该将anchor tag更改为buttoninputtype=submit

还是做点别的?

任何帮助,将不胜感激!

回答

1

是否有与您的主播关联的点击事件?这应该设置它的文本已经被键入后

$(".submit").click(function(){ 
var newName = $('.name-to-submit').val(); 
alert(newName); 
}); 

http://jsfiddle.net/HARR2/

编辑:如果您希望在用户点击进入(上提交表单)触发此事件

$(".my-form").submit(function(){ 
var newName = $('.name-to-submit').val(); 
alert(newName); 
}); 

http://jsfiddle.net/HARR2/2/

+0

如果我想这样做,当用户在输入框中键入内容并按下回车键,那么基本上,表单提交? ()。 – 2013-03-17 21:16:30

+0

@ZackShapiro $(“。my-form”)。submit(function(){ var newName = $('。name-to-submit')。val(); alert(newName); }); http://jsfiddle.net/HARR2/2/ – MorningDew 2013-03-17 23:23:04

+0

谢谢MorningDew – 2013-03-17 23:31:46

0

我总是会声明输入元素的type属性。如果你的名字输入元素有属性type =“text”?

+0

我在问这个问题后添加了 – 2013-03-17 22:52:58