Как отправить текстовое поле с помощью редактора wysiwyg и jquery - PullRequest
1 голос
/ 28 мая 2009

Хорошо, потому что я такой нуб и понятия не имею, как работает javascript ... Мое мышление было ошибочным. Я сейчас на полпути. Я взял одно из предложений автора и настроил функцию, а затем в теге html form я ее вызываю. Это работает. Я думал, что мне нужно иметь селектор идентификатора, чтобы иметь триггер JQuery, но это не так. Мне жаль. Я знаю, что в этом нет никакого смысла, но, пожалуйста, терпите меня, я пытаюсь. :)

Теперь, когда у меня есть форма, указывающая на скрипт javascript / jquery. Теперь мне нужно исправить jquery. Вот код.

function doSave(){
  $(function() {
    $('.error').hide();
    $("#dfar").click(function() {
      $('.error').hide();

    var textArea = $('#dfarReport');
    if (textArea.val() == "") {
    alert('sd');
      textArea.show();
      textArea.focus();
    return false;
    }

По какой-то причине, хотя я нажимаю кнопку отправки и включил селектор идентификатора в текстовой области, я не вижу предупреждение. Может кто-нибудь сказать, пожалуйста, что я делаю не так?

Ответы [ 5 ]

3 голосов
/ 28 мая 2009

хорошо, я думаю, вам понадобится это:

$(document).ready(function(){

    $("form").submit(function(){
        var textArea = $('#dfarReport');

        if (textArea.val() == "") {
            textArea.show();
            textArea.focus();
            return false;
        }
        else // you'll need to add the else and the return true
        {
            return true; 
        }
    });

});

вам нужно вернуть true, если форма действительна.

Подробнее: http://docs.jquery.com/Events/submit

Но убедитесь, что вы проверяете данные и на сервере!

1 голос
/ 28 мая 2009

Изменить кнопку на

<script>
function doSave()
{
   // save data using jQuery
}
</script>
<input type="button" value="Save" onclick="doSave(); return false;">

или

Вы можете изменить форму с помощью

<form onsubmit="doSave(); return false;">
1 голос
/ 28 мая 2009

Вы можете получить текстовую область по

$('textarea')

Если это единственный на вашей странице.

Вам просто нужно позвонить submit в форме, в которой находится текстовое поле

EDIT:

После прочтения вашего обновления вы просто хотите убедиться, что текстовое поле не пустое перед отправкой формы. Вам просто нужно настроить проверку

var textArea = $('#results'); //Get the textarea

if (textArea.val() == "") {
    textArea.show();
    textArea.focus();
return false;
}
// perform the form submit here as textarea is not blank

Не могли бы вы опубликовать весь объект, где у вас есть код, начинающийся с

 case "Save":

с? Вероятно, было бы неплохо использовать этот объект для выполнения отправки.

РЕДАКТИРОВАТЬ 2:

Что касается вашего комментария об обновлении страницы, то при отправке формы страница будет размещена. Похоже, вы хотите POST данные с использованием AJAX.

Посмотрите на команду jQuery $.ajax()

0 голосов
/ 28 мая 2009

пожалуйста, напишите код, который вы используете.

Вы редактировали как 3x, и всегда есть другой подход.

Хорошо, если вы хотите использовать код, который вы определили в своем первом посте прямо сейчас, вам придется сделать это:

function doSave(){
  $(function() {
    $('.error').hide();
    $("#dfar").click(function() {
      $('.error').hide();

    var textArea = $('#dfarReport');
    if (textArea.val() == "") 
    {
      alert('sd');
      textArea.show();
      textArea.focus();
    return false;
    }
    else
    {
        return true;
    }
0 голосов
/ 28 мая 2009

Вы могли бы сделать что-то вроде

$(document).ready(function(){
    $("#submit_btn").click(function(){
        mySubmit($("#myForm")) ; // call your existing javascript submit routine
    });
});

или, если хотите,

$(document).ready(function(){
    $("#myForm").submit(function(){
        mySubmit($("#myForm")) ; // call your existing javascript submit routine
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...