2015-02-02 3 views
0

Я пытался сделать что-то как основное, как отправить текстовое поле на ввод (и shift + enter), и это действительно заставляет меня смутить - я посоветовался с предыдущими темами здесь, в Stackoverflow in этот вопрос, но никакое предыдущее решение, похоже, не делает этого. Не должно $('#form').submit(); выполнить эту работу? Ни this.form.submit();, либо document.getElementById("form").submit();, похоже, не дает решения, хотя я мог бы что-то испортить в этот момент.Отправить форму на клавиатуре в текстовой области

I've created a jsFiddle для того, чтобы опробовать его. Скорее всего, это очень серьезная ошибка, с которой мне будет стыдно, но, к сожалению, я потратил столько времени, что больше не могу смотреть на нее свежими глазами.

<form id="form" name="form" method="post"> 
    <textarea id="contentsubmit" name="contentsubmit" class="no-formatting contentsubmit" type="text" placeholder="textfield for submitting textcontent"></textarea> 
    <input id="submit" type="submit" name="submit" value="Send" /> 
</form> 

<script> 
$(document).ready(function(){ 
    $('#contentsubmit').keypress(function(e) { 
     if(e.which == 13) { 
      $('#form').submit(); 
      // this.form.submit(); 
      // document.getElementById("form").submit(); 

      console.log('log me!'); 
      e.preventDefault(); // Stops enter from creating a new line 
     } 
    }); 
}); 
</script> 

ответ

1

Вам необходимо переименовать кнопку отправки, вы переопределяете метод отправки.

Изменить

<input id="submit" type="submit" name="submit" value="Send" /> 

в

<input id="btnSubmit" type="submit" name="btnSubmit" value="Send" /> 

и изменить

$('#form').submit(); 

в

$('#form')[0].submit(); 

или

$('#form').get(0).submit(); 
+0

Ах, конечно! Привет, друг! – Lenny

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