2012-01-09 4 views
0

私は次のJavaScriptの機能を持っている:私は、この関数を呼び出したフォームタグでリストから2つの値を返す方法は?

// JavaScript Document 

function showList() { 
    sList = window.open("CLASS_LIST.PHP", "list", "width=421,height=600"); 
} 
function remLink() { 
    if (window.sList && window.sList.open && !window.sList.closed) 
     window.sList.opener = null; 
} 

function pick(symbol) { 
    if (window.opener && !window.opener.closed) 
     window.opener.document.student.admission_class.value = symbol; 
    window.close(); 
} 

<input name="admission_class" type="text" /> 
<INPUT TYPE="button" VALUE="List" onClick="showList()"> 

それは新しいウィンドウでリストを開き、選択にCLASS_IDを返しますが、私が欲しいです同じテーブルのclass_nameも返します。

新しいウィンドウでリストを開いて選択すると、class_idとclass_nameが自分のフォームに返されます。

+0

のonClickを記述する必要があります: 'onclick' – Armin

答えて

1

あなたはこのような配列を返すことができます。

return Array('class_id', 'class_name'); 
0

あなたpick()機能は、直接親ウィンドウの上にadmission_classフィールドの値を設定しているように見えます。おそらく、これは既に返されていると言われているclass_idです。あなたもclass_nameを返すようにしたい場合は、最も簡単な方法は、親画面上の第2の入力フィールドを作成し、同じ方法でそれを設定することです:

<!-- add to your form: --> 
<input name="admission_class_name" type="text" /> 

<script> 
// update your pick function: 
function pick(symbol, clickedanchor) { 
    if (window.opener && !window.opener.closed) { 
     window.opener.document.student.admission_class.value = symbol; 
     window.opener.document.student.admission_class_name.value = 
                 clickedanchor.innerHTML; 
    } 
    window.close(); 
} 

</script> 

そして、あなたのPHPで:

echo '<tr><td><a href="javascript:pick('.$get_row['class_id'].', this)">' .$get_row['class_name'].'</a></‌​td></tr>'; 

注意:この全体のセットアップはちょっとおかしなことですが、私が上に示したようなものはあなたが求めていることを行うための最小限の変更です。

+0

私はエコー「​​'.$get_row['class_name'].'」とピックと呼ばれると呼ばれるリストスクリプトCLASS_LIST.PHPに。今すぐあなたの上でpick()を呼び出す方法admission_class_name –

+0

親愛なるnnnnnn、ありがとう、返された "未定義"。 –