2013-12-06 4 views
1

Я пытаюсь нажать кнопку отправки и отправить форму с использованием чисто javascript. Я пробовал:Как отправить форму с помощью javascript

document.getElementById('sell_form').submit(); 

и

for(var i=0;i<document.getElementsByName('operation').length;i++){ 
    if(document.getElementsByName('operation')[i].value=='Sell'){ 
     document.getElementsByName('operation')[i].submit(); 
    } 
} 

, но я просто не могу получить его. Может ли кто-нибудь показать мне, как я могу это сделать?

Заранее спасибо.

Веб-код:

<form id="sell_form" class="ajaxform" action="/member/sell" method="post"> 
    <div id="result" class="popup"> </div> //hidden 
    <div class="c-box-body"> 
     <table width="100%" border="0"> 
     <div style="text-align:center"> 
      <br> 
      <input type="hidden" value="13" name="pair"> //hidden 
      <input type="hidden" value="Sell" name="type"> //hidden 
      <input type="submit" value="Calculate" name="calculate"> 
      <input type="submit" value="Sell" name="operation"> //**This is the one I'm trying to click on 
      <input type="reset" value="Clear"> 
     </div> 
    </div> 
</form> 

Что делает это трудно, что веб-страница не моя (я использую Greasemonkey в Firefox, который, по существу, и OnLoad событие яваскрипта)

+0

Вы можете опубликовать демо воспроизвести проблему? – elclanrs

+0

Я не уверен, как опубликовать демо. Параметры отправки, которые я попробовал, просто вызывают действие перехода на https://crypto-trade.com/member/sell, но ничего не продается (опубликовано), и всплывающее окно результата не появляется. –

+0

Попробуйте http://jsfiddle.net/ для демонстрации. – elclanrs

ответ

0

я смог к нему:

var element = document.querySelector('#sell_form input[name="operation"]'); 
    if (element) { 
     element.click(); 
    } 
1
<script type="text/javascript"> 
    function callSubmit() {  
     document.forms[0].submit(); 
    } 
</script> 

<form id="sell_form" class="ajaxform" action="/member/sell" method="post"> 
    <div id="result" class="popup"> </div> //hidden`enter code here` 
    <div class="c-box-body"> 
     <table width="100%" border="0"> 
     <div style="text-align:center"> 
      <br> 
      <input type="hidden" value="13" name="pair"> //hidden 
      <input type="hidden" value="Sell" name="type"> //hidden 
      <input type="submit" value="Calculate" name="calculate"> 
      <input type="submit" value="Sell" name="operation" onclick="callSubmit()"> 
      <input type="reset" value="Clear"> 
     </div> 
    </div> 
</form> 
+0

Я могу добавить функцию, но я не уверен, что javascript для добавления события onclick во вход ... любые идеи о том, как изменить тег ввода? –

+0

Тег ввода принимает событие onclick для вызова любой функции javascript. Я просто представляю форму внутри callSubmit(). Таким образом, все значения в формах перемещаются по пути, который был указан в виде действия. –

+0

Что я имею в виду - мне нужно добавить 'onclick = "callSubmit()"' с помощью javascript - как бы я это сделал? –

0
var form = document.getElementById("sell_form"), 
    button = document.getElementById("sell_button"); 

function submitForm() { 
    form.submit(); 
} 

button.addEventListener("click", submitForm, false); 

Я получаю форму и кнопки, используя DOM. После этого я создаю функцию, которая представляет форму. Наконец, я говорю браузеру «слушать» элемент кнопки, и когда он «слышит» щелчок по нему, он должен запускать ранее созданную функцию.

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