2012-03-02 2 views
0

Будучи студентом колледжа в QANTM, я регулярно использую его систему портала для проверки информации, имеющей отношение к моему исследованию. Однако на сайте используется определенная система, которая делает невозможным просмотр небольших разрешений, таких как мобильные браузеры.Использование JavaScript для отправки определенной формы кнопки

Я разрабатываю небольшое личное приложение, которое должно позволить мне просматривать содержимое сайта в моем собственном форматированном виде. Однако у меня возникают некоторые проблемы с выполнением JavaScript для отправки учетных данных.

<form id="userslogin" method="post" action="javascript: saePortal.users.submitLogin();"  onsubmit="return false" class="x-hidden"> 
<input type="text" id="username" name="username" /> 
<input type="password" id="password" name="password" /> 
<button type="submit" id="submit" value="Login" class="x-hidden" /></button> 
</form> 

В основном это форма структуры портала и я успешно в состоянии изменить имя пользователя и поле пароля с моим желаемым содержимым с помощью

document.forms[0].username.value = 'text'; 

Однако я не могу представить результаты. Я сделал несколько поисков в Интернете, и это не просто вопрос отправки формы. Он обновляет страницу.

document.forms[0].submit(); 

Я также попытался нестандартное совместимый код, такой как document.forms [0] .submit.click(); и многие варианты этого, а также использование getElementById без везения.

Участок под вопросом https://portal.qantm.com.au/. Я не уверен, что это форма защиты, встроенная в сайт, или если я просто использую неправильный синтаксис.

+0

Боюсь, что это намного сложнее. Вам нужно будет отправлять запросы POST вручную на требуемые URL-адреса, поскольку используется AJAX. – Blender

+0

Зачем устанавливать атрибут «onsubmit = 'return false» для создания тега? Это предотвращает публикацию данных пользователем. вместо этого нужно дать "onsubmit =" return true "" –

ответ

0

Вы можете использовать JavaScript FormData-класс, если ваш браузер поддерживает его.

var fd = new FormData(); 
fd.append("username", username); 
fd.append("password", password); 

Тогда вы можете разместить это, используя jQuery или что-то в этом роде.

$.ajax({ 
    url: portalurl, 
    type: 'POST', 
    data: fd, 
    contentType: false, 
    processData: false, 
    success: function(data){ 
     console.log(data); 
    } 
}); 
0

Изменить атрибут onsubmit="return true" в теге формы.

Смежные вопросы