Ajax发布麻烦

时间:2014-07-10 19:43:40

标签: javascript php jquery ajax

我正在开发一个涉及发布到ajax的功能。相关的代码位应该选择某个类,遍历其元素,将所需的元素放入数组中并发布该数组。它适用于获取背景图像链接。但是,当应用于用html textarea编写的文本时,相同的概念似乎失败了。即使我使用.val方法从textarea获取文本并将其推入相关数组,然后我发布,没有文本上传到数据库。这是javascript。

$('#createButton').click(function() {
        var getImages = []; 
        var getText = []; 
        var count = $('.count').length; 
        var tcount = $('.tcount').length; 

        if ( count >= 1 ) {
            $('.count').each(function () {
                if ($(this).css('background-image')) {
                    var src = $(this).css('background-image');
                    var parseSrc = src.replace(/^.*(?=images)|\W+$/g, ''); //parse out the actual link from url( link )
                    getImages.push(parseSrc); 
                }//end nested if 
            });//end each function 
        }//end count if
        if ( tcount >= 1 ) {

            $('.tcount').each(function () {
                  if ($(this).val()) {
                    var textVal = $(this).val(); 
                    getText.push(textVal);  
               }//end if
            });//end each
        }//end tcount if
        $.post('fileHandler.php', {image: getImages, text: getText});//end post
    });//end createButton click

和PHP

include('classes/fileclass.php'); 

$f = new Files (); 
$storyID = $f->idHandler(); 

if ($_POST['image']) {
foreach($_POST['image'] as $imageSrc) {
    $f->insertStoryImages($storyID, $imageSrc); 
}//end foreach  
if ($_POST['text']) {
    foreach($_POST['text'] as $textBox) {
        $f->insertStoryText($storyID, $textBox);  
    }//end foreach
}//end text if 
}//end image if 

实际上从OOP脚本调用服务器的位(仅用于文本调用,图像工作正常):

public function insertStoryText ($storyID, $textBox) {
    $db = new pdo("mysql:host=localhost;dbname=storyboard;charset=utf8", "someuser", "somepass");
    $stmt = $db->prepare("INSERT INTO sbData(storyID, textBox) VALUES (:storyID, :textBox)");
    $stmt->execute(array(':storyID' => $storyID, ':textbox' => $textBox));
}//end insertShoot

注意:要明确,.tcount类会选择一个html textarea对象。

1 个答案:

答案 0 :(得分:0)

问题在于'.tcount'并不表示textarea而是div。很自然地,当我使用.val()时,它将返回一个空字符串。可怕的虫子。