2014-01-02 8 views
0

Я использую cluetip для открытия всплывающих окон с помощью системы pm. Когда я отправляю pm, Jquery не получает значения в любых полях. Вот JsFiddle может кто-нибудь помочь? HTML-формаJQuery не принимает значения формы

<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

$('#pmForm').on('submit', function (e) { 
    e.preventDefault(); 
    $('input[type=submit]', this).attr('disabled', 'disabled'); 
    var pmSubject = $("#pmSubject").val(); 
    var pmTextArea = $("#pmTextArea").val(); 
    var url = "../_Scripts/private_msg_parse.php"; 
    if (!pmSubject) 
    { 
     $('input[type=submit]',this).removeAttr('disabled'); 
     $("#jqueryReply").html('<img src="../_Images/round_error.png" 
      alt="Error" width="31" height="30" /> &nbsp; Please type 
      a subject.') 
      .show().fadeOut(6000); 
     return false; 
    } 
    else if (!pmTextArea) { 
     $('input[type=submit]', this) 
      .removeAttr('disabled'); 
     $("#jqueryReply").html('<img src="../_Images/round_error.png" 
      alt="Error" width="31" height="30" /> &nbsp; Please type in your 
      message.') 
      .show().fadeOut(6000); 
     return false; 
    } else { 
     $("#pmFormProcessGif").show(); 
     $.post(url, $('#pmForm').serialize(), function (data) { 
      $("#jqueryReply").html(data).show().fadeOut(10000); 
      $("#pmTextArea").val(''); 
      $("#pmSubject").val(''); 
      $("#pmFormProcessGif").hide(); 
     }); 
    } 
}); 

http://jsfiddle.net/RKN39/

Благодаря

+2

Почему вы используете '' tags – scrblnrd3

+5

Можете ли вы отформатировать JavaScript как ... читаемый? Отладка его намного проще при значительном использовании пробелов. Это также может сделать более понятным то, о чем вы даже спрашиваете, потому что в настоящее время вопрос не имеет большого смысла. JavaScript (и по расширению jQuery) не «получает опубликованные значения». Код на стороне сервера делает. – David

+1

Элемент clone cluetip plugin clone (с идентификатором) и как идентификаторы должны быть уникальными, ваше значение ввода остается первым, которое по-прежнему равно пустой строке. Простое исправление, используя контекст FORM: http://jsfiddle.net/RKN39/2/ –

ответ

0

Я не уверен cluetip, но я не думаю, что значения поля формы в настоящее время поскольку они находятся внутри контейнера, который скрыт - .interactContainers имеет значение css для отображения: none. Вы можете сохранить это назначение и попробовать что-то вроде

$('#private_message').on("click", function(){ 
     $('.interactContainers').css('display','block') 
    }); 

или, может быть, есть способ интеграции, что в код cluetip?

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