使用PHP / jQuery获取textarea的价值

时间:2012-01-03 13:48:57

标签: php jquery html textarea modal-dialog

一直在寻找几个小时如何排序,我正处于哭泣的边缘,所以花时间去寻求帮助。它应该很简单,但我显然遗漏了一些东西。

我想从textarea中获取文本,然后使用textarea文本执行MySQL更新。我正在使用PHP和jQuery。

通常,我在php中使用$ _post但是,我使用jQuery来显示模态弹出窗口。我想要运行MySQL更新代码,然后模式弹出窗口将显示一些说“已保存”的文本。简单。

所有代码都运行正常,但我无法获取文本。这显然非常关键。

那么如何从textarea获取文本?

形式:

<form name = "editProfile">
<textarea rows="2" cols="20" name="bio" id="bio">
Some text.
</textarea>
</form>

Php代码

<?php
$bio = TEXT FROM TEXTAREA;

$sql="Update members SET bio = '$bio' WHERE memberID='$memberID'";
$result=mysql_query($sql);
echo ("Profile Update Sucesful");
?>

那个bio.text位就是你在asp.net中的表现....

上面的表格没有使用方法/动作,事实上可能不需要“形式”标签,因为我只需要textarea。模态由链接启动。

请帮忙(请耐心等待我)。如果您需要更多信息,请告诉我们。不要喊。我是新人。

3 个答案:

答案 0 :(得分:2)

要从jquery中的textarea获取文本,我总是使用以下内容:

<textarea id="textareaOfInterest">some value</textarea>
<script>
   $('#textareaOfInterest').val();
</script>

您的其余代码应如下所示:

<textarea id="textareaOfInterest">some value</textarea>
<input type='button' id="doStuff" value="do" />
<script>
   $('#doStuff').live('click',function(){
      show modal window
      var val = $('#textareaOfInterest').val();
      $.ajax({
        ....
      data: "&textArea="+val,
      success: function(result)
              {
            ... do stuff with the result....

                 hide modal window
                }
      });

});
</script>

使用jquery ajax搜索示例,因为我不清楚语法。

希望它有所帮助, 问候, 亚历

答案 1 :(得分:0)

 $bio = $_GET['bio']; /* or $_POST if your send data with jQuery $.POST */

是你需要加载textarea的值

请注意,您应该在表单中指定send方法,并且为了应用程序安全性,请针对CSRF请求发送某种隐藏令牌,在进行任何数据操作(如数据库插入)之前,您应该认真清理每个你收到的输入

答案 2 :(得分:0)

从表单中进行AJAX调用:

<!-- #dialog is the id of a DIV defined in the code below -->
<a href="#dialog" name="modal">Simple Modal Window</a>

<div id="boxes"> 

    <!-- #customize your modal window here --> 
    <div id="dialog" class="window">
       <textarea rows="2" cols="20" name="bio" id="bio">
           Some text.
       </textarea>
       <input id="saveTxt" type="submit" value="Save" />

       <!-- close button is defined as close class -->
       <a href="#" class="close">Close it</a>

    </div>

    <!-- Do not remove div#mask, because you'll need it to fill the whole screen --> 
    <div id="mask"></div>
</div>

作为您的Javascript:

<script>

$(document).ready(function() {  

    //select all the a tag with name equal to modal
    $('a[name=modal]').click(function(e) {
        //Cancel the link behavior
        e.preventDefault();
        //Get the A tag
        var id = $(this).attr('href');

        //Get the screen height and width
        var maskHeight = $(document).height();
        var maskWidth = $(window).width();

        //Set height and width to mask to fill up the whole screen
        $('#mask').css({'width':maskWidth,'height':maskHeight});

        //transition effect     
        $('#mask').fadeIn(1000);    
        $('#mask').fadeTo("slow",0.8);  

        //Get the window height and width
        var winH = $(window).height();
        var winW = $(window).width();

        //Set the popup window to center
        $(id).css('top',  winH/2-$(id).height()/2);
        $(id).css('left', winW/2-$(id).width()/2);

        //transition effect
        $(id).fadeIn(2000); 

    });

    //if close button is clicked
    $('.window .close').click(function (e) {
        //Cancel the link behavior
        e.preventDefault();
        $('#mask, .window').hide();
    });     

    //if mask is clicked
    $('#mask').click(function () {
        $(this).hide();
        $('.window').hide();
    });   

    //if submit is clicked
    $('input#saveTxt').click(function(event) {
       event.preventDefault();

       //Get the text from your textarea
       var text = $('textarea#bio').val();

       //Post it to your PHP page to insert it into your database
       $.ajax({
          url: "yourpage.php",                  //The URL you are posting to
          type: "POST",                         //The way you post your data
          dataType: "html",                     //The type of data you expect to get back
          data: {text : text},                  //Your data (thus the value of your textarea)
          cache: false,
          success: function(html) {             //After the AJAX call was done, update the textarea with the HTML you got back
             $('textarea#bio').val(html);
          }
       });
   });      

});

</script>

yourpage.php (您将数据发布到的页面)中,您可以直接获取它:

<?php
   $bio = mysql_real_escape_string($_POST['text']);

   //do your query
   $sql = "Update members SET bio = '$bio' WHERE memberID='$memberID'";
   $result = mysql_query($sql);
   echo ("Profile Update Sucesful");
?>