0

AJAXとSimpleHTMLDOMパーサーを使用して自動入力スクリプトを作成しようとしています。これが私がこれまでに持っているものです:

PHPファイル(discogs.php):

<?php

    ini_set('user_agent', 'TEST/1.0 +http://127.0.0.1/test/');

    require_once('simple_html_dom.php');

    // Create DOM from URL
    $html = file_get_html('http://www.discogs.com/release/'.$_POST["album_id"]);

    // Grab the Label
    $label = $html->find('.content > a', 0);
    echo $label;

    // Grab the Catalogue Number
    $catno = $html->find('.content', 0);
    echo $catno;

    // Grab the tracklist
    $tracklist = $html->find('div#tracklist', 0);     
    echo $tracklist; 

?>

スペースを節約するために、ここにHTMLとjQueryを配置しました:http://jsfiddle.net/Mobius1/cYGWs/

を使用して単一のtextarea/inputを入力する方法は知って いますが、PHPファイル( 、、および)$('element').val(data)の3つの変数を3つの入力すべてに入力する方法を理解できません。$label$catno$tracklist

出来ますか?

4

1 に答える 1

0

まず、以下のようにスクリプトに変更を加えます

 jQuery.post('discogs.php', jQuery("#myform").serialize(), function(data) {

 $('element').val(data);

                 },"json");

次に、phpスクリプトを次のように変更し、echo変数ステートメントを削除します

// New line of code for json
ini_set('user_agent', 'TEST/1.0 +http://127.0.0.1/test/');
require_once('simple_html_dom.php');

    // Create DOM from URL
    $html = file_get_html('http://www.discogs.com/release/3894873');

     // Grab the Label
     $label = $html->find('.content > a', 0);

    // Grab the Catalogue Number
    $catno = $html->find('.content', 0);

    // Grab the tracklist
    $tracklist = $html->find('div#tracklist', 0); 


$data =  array (
 "label" => (string) $label,
 "catno" => (string) $catno,
  "tracklist" => (string) $tracklist,
);

echo json_encode($data);
exit;

次に、成功ハンドラー関数を次のように変更します

function(data) {

 $('lable element id').val(data.label);
 $('catno element id').val(data.catno);
 $('tracklist element id').val(data.tracklist);

                 }
于 2012-09-22T13:16:39.947 に答える