2013-11-13 3 views
1

Я видел, что проблема связана с тем, что jQuery не получает значение формы.JQuery не принимает значения формы

У меня есть форма в скрытом div, пользователь нажимает кнопку «отправить pm», появляется форма.

<div class="interactContainers" id="private_message1"> 
<form action="javascript:sendPM();" name="pmForm" id="pmForm" method="post"> 
<font size="+1">Sending Private Message to <strong><em><?php echo "$username"; ?></em></strong></font><br /><br /> 
Subject: 
<input name="pmSubject" id="pmSubject" type="text" maxlength="64" style="width:90%;" /> 
Message: 
<textarea name="pmTextArea" id="pmTextArea" rows="8" style="width:90%;"></textarea> 
    <input name="pm_sender_id" id="pm_sender_id" type="hidden" value="<?php echo $sessionid ?>" /> 
    <input name="pm_sender_name" id="pm_sender_name" type="hidden" value="<?php echo $user ?>" /> 
    <input name="pm_rec_id" id="pm_rec_id" type="hidden" value="<?php echo $profileid ?>" /> 
    <input name="pm_rec_name" id="pm_rec_name" type="hidden" value="<?php echo $username ?>" /> 
    <input name="pmWipit" id="pmWipit" type="hidden" value="<?php echo $thisRandNum ?>" /> 
    <span id="PMStatus" style="color:#F00;"></span> 
    <br /><input name="pmSubmit" type="submit" value="Submit" /> 
<span id="pmFormProcessGif" style="display:none;"><img src="../_Images/loading.gif" width="28" height="10" alt="Loading" /></span></form> 
</div> 

У меня есть скрипт JQuery, который проверяет данные были занесены, но его продолжает говорить мне данные не принимаются.

я получаю либо «Пожалуйста, введите тему» ​​или «Пожалуйста, введите сообщение» выход

JQuery

$('#pmForm').submit(function(){$('input[type=submit]', this).attr('disabled', 'disabled');}); 
function sendPM () { 
     var pmSubject = $("#pmSubject"); 
     var pmTextArea = $("#pmTextArea"); 
     var sendername = $("#pm_sender_name"); 
     var senderid = $("#pm_sender_id"); 
     var recName = $("#pm_rec_name"); 
     var recID = $("#pm_rec_id"); 
     var pm_wipit = $("#pmWipit"); 
     var url = "../_Scripts/private_msg_parse.php"; 
     if (pmSubject.val() == "") { 
      $("#jqueryReply").html('<img src="../_Images/round_error.png" alt="Error" width="31" height="30" /> &nbsp; Please type a subject.').show().fadeOut(6000); 
     } else if (pmTextArea.val() == "") { 
      $("#jqueryReply").html('<img src="../_Images/round_error.png" alt="Error" width="31" height="30" /> &nbsp; Please type in your message.').show().fadeOut(6000); 
     } else { 
      $("#pmFormProcessGif").show(); 
      $.post(url,{ subject: pmSubject.val(), message: pmTextArea.val(), senderName: sendername.val(), senderID: senderid.val(), rcpntName: recName.val(), rcpntID: recID.val(), thisWipit: pm_wipit.val() } ,   function(data) { 
       $("#jqueryReply").html(data).show().fadeOut(10000); 
       document.pmForm.pmTextArea.value=''; 
       document.pmForm.pmSubject.value=''; 
       $("#pmFormProcessGif").hide(); 
      }); 
     } 
} 

Вот скрипку, чтобы увидеть, что происходит. http://jsfiddle.net/RKN39/

+0

Может ли кто-нибудь помочь мне ???? – Benjio

ответ

0

Если вы разобрали значение формы переменной в JQuery, вы должны сообщить jQuery, какое значение вам нужно. С .val(), jQuery выбирает значение вашего текстового поля.

var pmSubject = $("#pmSubject").val(); 
var pmTextArea = $("#pmTextArea").val(); 
var sendername = $("#pm_sender_name").val(); 
var senderid = $("#pm_sender_id").val(); 
var recName = $("#pm_rec_name").val(); 
var recID = $("#pm_rec_id").val(); 
var pm_wipit = $("#pmWipit").val(); 

Надеюсь, что это сработает!

+0

Попробовал просто добавить .val(), но все еще не работает, любая идея? – Benjio

0

Почему бы не сериализовать вашу форму?

$('#pmForm').on("submit", function(event) { 

    event.preventDefault(); 
    var form_data = $(this).serialize() ; 
    console.log(form_data); 
    var pmSubject = $("#pmSubject"); 
    var pmTextArea = $("#pmTextArea"); 
    var url = "../_Scripts/private_msg_parse.php"; 
    if (pmSubject.val() === ""){ 
    $("#jqueryReply").html('<img src="../_Images/round_error.png" alt="Error" width="31" height="30" /> &nbsp; Please type a subject.').show().fadeOut(6000); 
    } else if (pmTextArea.val() === "") { 
    $("#jqueryReply").html('<img src="../_Images/round_error.png" alt="Error" width="31" height="30" /> &nbsp; Please type in your message.').show().fadeOut(6000); 
    } else { 
    $("#pmFormProcessGif").show(); 
    $.post(url, form_data, function(data) { 
     $("#jqueryReply").html(data).show().fadeOut(10000); 
     pmTextArea.val(""); 
     pmSubject.val(""); 
     $("#pmFormProcessGif").hide(); 
    }); 
    } 
}); 
Смежные вопросы