【问题标题】:Cannot pass textarea input to PHP variable无法将 textarea 输入传递给 PHP 变量
【发布时间】:2013-07-24 16:17:48
【问题描述】:

首先,我使用 3 种语言。 HTML、Javascript 和 PHP。我无法将用户输入的 textarea 文本传递给 PHP 变量,该变量将用作发送出去的电子邮件中的消息。我认为问题在于我的文本区域实际上是在一个模式窗口中,出于某种原因,我认为这就是把事情搞砸的原因。

这是我的 HTML 代码:

<div class="rejectModal" title="rejectModal" id="rejectModal" style="display: none; padding:15px ">          
    <form name="rejectForm" action="">

    <textarea id="rejectArea" name="rejectArea" rows="6" cols="43">{$rejectAreaNote}</textarea> 


    <input type="button" value="Reject" class="btn success" id="submitReject" name="Reject" />

    <input class="btn" type="reset" value="Cancel" id="btnCancelSaveModal"  />
    </form>
</div>

JS代码:

$(function() {  
$(".submitReject").click(function() {  
    // validate and process form here  
    $('.error').hide();  
    var rejectAreaNote = $("textarea#rejectArea").val();  
    var noteLength = rejectAreaNote.length;
    if (rejectAreaNote == "" || noteLength < 5) {  
        $("label#rejectArea_error").show();  
        $("textarea#rejectArea").focus();  
        return false;  
    }  
    var dataString = rejectAreaNote;  

    alert (dataString);
    //return false;  

$.ajax({  
    type: "POST",  
    url: "gs_ViewDocument.php",  
    data: {
        "Reject" : "Reject",
        "rejectAreaNote" : "rejectAreaNote"
    },
    success: function() {  
        $('#reject_form').html("<div id='message'></div>");  
        $('#message').html("Reject Submitted!");
    }  
});  
    return false;  
 });  

});

什么创建了模态(JS):

    $('.rejectModal').css("background", "lightblue");
          $('#btnRejectDocument').bind(isTouchScreen ? "touchstart" : "click", function(){
       if (!gsSelection.unselectElem()) return false; 
           $('.rejectModal').dialog({
           modal:true, 
           resizable:false,
        width: 400,
    }).removeClass("ui-widget-content");
    $(".ui-dialog-titlebar").hide();
    return;
 });
$('#btnRejectDocumentModal').bind(isTouchScreen ? "touchstart" : "click", function(){
   $(this).parents('div.rejectModal').dialog('close');
});
$('#btnCancelSaveModal').bind(isTouchScreen ? "touchstart" : "click", function(){
   $(this).parents('div.rejectModal').dialog('close');
});

PHP 代码:

if(isset($_POST['Reject'])&&$_POST['Reject']=='Reject')     
 {
      $isReject = true;
      RejectAction($DocumentID, $ClientName, $ClientEmail);
      $smartyvalues["isReject"] = $isReject;
      $smartyvalues["RejectMsg"] = "successfully rejected!";
 }

对他来说也很新 非常感谢任何帮助。

【问题讨论】:

  • 除了以下更正之外,您还绑定到 submitReject 类 - $(".submitReject").click(function() {}); 但您的按钮是 submitReject id - id="submitReject"
  • 我看不出有什么问题?请澄清。
  • .submitReject == 类,#submitReject == id。既然你有&lt;input type="button" value="Reject" class="btn success" id="submitReject" /&gt;,你应该使用一个id选择器$("#submitReject").click(function() {});。如果您想使用类选择器$(".submitReject").click(function() {});,您需要将submitReject 类添加到您的按钮 - &lt;input type="button" value="Reject" class="btn success submitReject" id="submitReject" /&gt;

标签: php javascript html textarea


【解决方案1】:

Textarea 没有 value 属性。如果您想为您的文本区域添加一个值,请将其添加到标签内:&lt;textarea&gt;value&lt;/textarea&gt; 所以试着把它改成这样:

<textarea id="rejectArea" name="rejectArea" rows="6" cols="43"/>{$rejectAreaNote}</textarea>

【讨论】:

  • 刚刚尝试过,还是没有成功。还有什么需要改变的吗?
  • 这行还有一个错字:&lt;input type="button" value="Reject" class="btn success" id="submitReject" name="Reject" /&gt; 请注意,一个 HTML 元素不能有多个 ID。
【解决方案2】:
if(isset($_POST['Reject']) ...

您没有将其发送到服务器。相反,您发送的是“dataString”,它只是来自 textarea 的文本。你应该做的是发送一个包含所需字段的对象:

    $.ajax({  
        type: "POST",  
        url: "gs_ViewDocument.php",  
        data: {
            "Reject" : "Reject",
            "rejectAreaNote" : "rejectAreaNote"
        },
        success: function() {  
            $('#reject_form').html("<div id='message'></div>");  
            $('#message').html("Reject Submitted!");
        }  
    });  

我仍然不确定您的代码应该做什么以及它如何粘合在一起,但这绝对是错误的。

【讨论】:

  • 改了,还是不行
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多