var inpt = $('#input-box').val();
if (inpt != '') {
$('form').submit();
alert('Voila!'); // (1)
} else {
alert('fill something man'); // (2)
}
我正在使用此代码在页面加载后自动提交表单
在这里,我无法使用jquery $(document).ready()
函数,因为我在GreaseMonkey环境中
表单会自动填写,我会在特殊情况下使用(2)
语句。
我没有收到警报!既不是(1)
也不是(2)
。
更新:
<label for="answer">Answer:</label>
<input type="text" name="answer" id="input-box" />
<input type="submit" name="submit" id="submit" value="Submit" />
</form>
答案 0 :(得分:0)
alert('Voila!'); // (1)
永远不会发出警报,因为此时页面已经因发送提交请求而重新加载。
尝试:
$('form').submit(function(){
alert('Voila!'); // (1)
}).trigger('submit');
答案 1 :(得分:0)
尝试在提交前发出提醒。
var inpt = $('#input-box').val();
if (inpt != '') {
alert('Voila!'); // (1)
$('form').submit();
} else {
alert('fill something man'); // (2)
return false; // to stop submitting
}
如果您希望在用户输入值后自动提交,则可以执行以下操作:
$('#input-box').live('blur',function(){
var inpt = $('#input-box').val();
if (inpt != '') {
alert('Voila!'); // (1)
$('form').submit();
} else {
alert('fill something man'); // (2)
return false; // to stop submitting
}
});
答案 2 :(得分:0)
Greasemonkey在onready之后执行代码,这应该可行。但页面上是否有表格,您是否正在获取正确的表格?这里的信息很少。
首先尝试检查firebug中的函数,它应该在那里运行。 greasemonkey需要一些工作才能理解jquery-thing。简单的方法是使用var $ = unsafeWindow.jQuery;在一开始,如果您所在的页面有jQuery。