2011-06-29 30 views
0

この質問には、この場所が適していると思います。私はmysqlデータベースから来てphp変数に格納されている2つの引数を取る関数を持っています。最初の引数はintで、2番目の引数は文字列です。これらの変数はJavaScriptの関数に渡されますが、関数が呼び出されると最初の引数は正しいものの、2番目の引数は未定義で、ブラウザはデバッグモードになります。カスタムJavaScript関数の未定義引数

これはjavascript関数を呼び出す私のPHPコードの一部です:

"<td><a href='javascript: confirmDelete(".$row['users_info_id'].", ".$row['firstname'].")' id='delete'>Delete</a></td>" 

これは私のjavascript関数である:

function confirmDelete(id, dealer){ 
    alert(id + "<br />" + dealer); 
    //var answer = confirm("Are you sure you want to delete " + dealer + "?"); 
    //if(answer == true){ 
     //window.location = "process_dealers.php?delete=" + id; 
     //alert("Dealer has been deleted from the database!");     
    //} 
    //else{ 
    //alert("Dealer has not been deleted from the database!"); 
    //}    
} 

私は何を見ることができるので、私は、コードのほとんどをコメントしていますアラート機能で返されています。 最初の引数は正しい値を返しますが、2番目の引数はディーラーの名前を返しますが、未定義です。私はすべてを試して、昨夜とこれを理解しようとしているこの荒涼とした過ごした。私はどんな提案も大変ありがとう。

+1

'confirmDelete'関数も呼び出すコードを投稿できますか?それはあなたがそれを呼び出すときに 'ディーラー'の値を渡していないように聞こえる。 –

+0

この関数の呼び出し場所を教えてください。 –

+0

@Francois - '​​Delete' – Ray

答えて

3

あなたの問題は、関数を呼び出すときに、文字列引数を引用符で囲む必要があることです。 int引数は引用符で囲む必要がないので、うまく動作します。

"<td><a href='javascript: confirmDelete(".$row['users_info_id'].", \"".$row['firstname']."\")' id='delete'>Delete</a></td>" 

$row['firstname']の引用符に注目してください。引用符がなければ、JavaScriptはその値を文字列ではなく変数名として扱いました。

関連する問題