На странице есть ссылка, которая вызывает метод с именем submitForm
с двумя параметрами; метод использует параметры для установки значений формы, а затем отправляет форму.
Я использую скрипт GreaseMonkey (GM) (ниже) и jQuery для анализа и доступа к этим параметрам из атрибута href
ссылки, а затем хочу автоматически отправить форму. Я испробовал три подхода (закомментированных), ни один из которых, похоже, не работает, поэтому я думаю, что мне чего-то не хватает в том, как работает GM.
$(document).ready(function() {
var regex = /\'([0-9]+)\',\'([0-9]+\'/g;
var link = $('td.dataContend:first a');
var match = regex.exec($(link).attr('href'));
if (match != null) {
$('input[name="field1"]').val(match[1]);
$('input[name="field2"]').val(match[2]);
try {
// 1. The next line says "document.submitForm is not a function"
//document.submitForm(match[1], match[2]);
// 2. The next line says "document.billViewForm is undefined"
//document.billViewForm.submit();
// 3. The next line throws no error but the page does not change
//$('form[name="billViewForm"]').trigger('submit');
}
catch (err) {
alert(err);
}
} else {
alert('no match');
}
});
Я подтвердил, что все, пока блоки try / catch работают правильно; регулярное выражение правильно анализирует значения, а jQuery изменяет значения поля формы.
Подход 1. и 2. терпят неудачу с ошибками, которые выглядят так, будто я не могу получить доступ к document
от GM по какой-то причине. Если я использую консоль FireBug и набираю 1 или 2, страница отправляется идеально. Это действительно пугает меня, так как я смог получить доступ к документу раньше без каких-либо проблем.
Подход 3. не выдает ошибку, но страница не обновляется с результатом отправки формы. Я пытался использовать метод .submit()
, но безрезультатно. Если я ввожу 3. в консоли FireBug, я получаю ошибку о том, что $('form...
не определено.
Кажется, что при использовании jQuery я не могу получить доступ к обычным свойствам javascript document
, а метод формы .submit()
не работает.
Спасибо за любые острые глаза или проницательные предложения!