Jump to content

Recommended Posts

Hi.

How can i pass div id? if it is not in a form?

 

My ajax code is :

<script>
jQuery(document).ready(function(){
	jQuery("#ContactForm").validationEngine();
});

function GetAnswer()
{
	var str = $("form").serialize();
	$.ajax({
		type: "POST",
		url: "answer.php",
		data: str,
		success: function(data){
			$('#ShowResult').html(data);
		}
	});
    	return false;
}
</script>
<body>
<div class="faqList" onclick="GetAnswer();" id="1"><span class="faqSpan"><a href="#m1">this is FAQ question. </a></span></div>
<br /><br />
<!-- Answer Display -->
<div id="m1" name="m1"><div id="ShowResult"></div></div>
</body>

 

And this is answer.php :

<?php
//if(!isset($_POST['q']))
	//exit();

$id = $_POST['q'];
$questions 	= array("q1", "q2", "q3", "q4");
$answers 	= array("a1", "a2", "a3", "a4");


$return = '
	<div class="faqtitle"><span class="faqtitlespan">' .$questions[$id]. '</span></div>
	<div class="faqanswer">$answers[$id]</a></div>';
echo $return;

?>

 

What i get is Notice: Undefined index: id in C:\apache\htdocs\support\answer.php on line 4

 

Thanks for any advice.

Link to comment
https://forums.phpfreaks.com/topic/255576-how-can-i-pass-div-id/
Share on other sites

Okay. I solved problem (by myself  ;D ;D )

I am posting solution below.

 

Hope this help someone else.

 

index.php:

<script>
jQuery(document).ready(function(){
	jQuery("#ContactForm").validationEngine();
});

function GetAnswer(value)
{
	var str = $("#div").serialize();
	var val = value;
	$.ajax({
		type: "POST",
		url: "answer.php?id=" + val,
		data: str,
		success: function(data){
			$('#ShowResult').html(data);
		}
	});
    	return false;
}
</script>
<body>
<div class="faqList" onclick="GetAnswer(555444);" id="div"><span class="faqSpan"><a href="#m1">this is FAQ question. </a></span></div>
<br /><br />
<!-- Answer Display -->
<div id="m1" name="m1"><div id="ShowResult"></div></div>
</body>

 

And this is answer.php :

<?php
//if(!isset($_GET['q']))
	//exit();

$id = $_GET['q'];
$questions 	= array("q1", "q2", "q3", "q4");
$answers 	= array("a1", "a2", "a3", "a4");


$return = '
	<div class="faqtitle"><span class="faqtitlespan">' .$questions[$id]. '</span></div>
	<div class="faqanswer">$answers[$id]</a></div>';
echo $return;

?>

[/code]

So just tested that page in the most stupid browser ever built (Internet Explorer) Ajax return nothing. Actually it display answer about 0.5 second and return to blank.

Does someone has any idea except forcing people stop using stupid browser?

Dear spiderwell

 

My faq page is as below.

 

<script>
jQuery(document).ready(function(){
	jQuery("#ContactForm").validationEngine();
});

function GetAnswer(value)
{
	var str = $("#div").serialize();
	var val = value;
	$.ajax({
		type: "POST",
		url: "answer.php?id=" + val,
		data: str,
		success: function(data){
			$('#ShowResult').html(data);
		}
	});
    	return false;
}
</script>

<div class="faqQuestion">
<div class="faqList" onclick="GetAnswer(0);" id="div"><span class="faqSpan"><a href="#m1">question 1</a></span></div>
<div class="faqList" onclick="GetAnswer(1);" id="div"><span class="faqSpan"><a href="#m1">question 2</a></span></div>
<div class="faqList" onclick="GetAnswer(2);" id="div"><span class="faqSpan"><a href="#m1">question 3</a></span></div>
<div class="faqList" onclick="GetAnswer(3);" id="div"><span class="faqSpan"><a href="#m1">question 4</a></span></div>
<div class="faqList" onclick="GetAnswer(4);" id="div"><span class="faqSpan"><a href="#m1">question 5</a></span></div>
<div class="faqList" onclick="GetAnswer(5);" id="div"><span class="faqSpan"><a href="#m1">question 6</a></span></div>
<div class="faqList" onclick="GetAnswer(6);" id="div"><span class="faqSpan"><a href="#m1">question 7</a></span></div>
</div>

 

How can i merge your code into this? Because i am using id="div" for serialize onclick="GetAnswer(0);" 0,1,2,3,4,5,6 are index numbers of answer array in answer.php

 

Interesting thing is when array has only numbers then ie display it but if it is a Japanese character then display and soon disappear.

 

<?php
mb_language("Ja");
mb_internal_encoding("utf-8");

if(!isset($_GET['id']))
	exit();

$q = $_GET['id'];

$questions 	= array("月額での支払いは可能ですか?",
					"いつから使えるようになりますか。",
					"支払い方法はどのようになっていますか?",
					"サーバーのみお申し込み可能ですか?", 
					"他サーバーから乗り換えたいのですがどうすればいいですか?", 
					"5", 
					"6",
					"サポート電話はありますか?", 
					"電話以外にサポートしますか?",
					"ホームページ中止ありますか?", 
					"Cronは使用できますか?",
					"海外からのアクセスに制限はありますか?", 
					"12",
					"13", 
					"アダルトサイトの利用はできますか?",
					"コンテンツに関して制限はありますか?", 
					"出会い系サイトの運営はできますか?",
					"動画、音楽ファイルの使用はできますか?", 
					"サーバ設置場所とバックボーンは?",
					"19", 
					"20",
					"21", 
					"22",
					"23", 
					"24",
					"25", 
					"26",
					"27", 
					"FTPに接続ができません。",
					"HPのファイルはどのディレクトリに置けばいいの?", 
					"30",
					"31",
					"32", 
					"33",
					"34", 
					"35",
					"36", 
					"37",
					"38", 
					"39",
					"40", 
					"41");
$answers 	= array("共用プラン1年契約のみとなっております。しかし、VPS又は専用プランで月払い可能です。",
					"お申し込みプランによって異なります。詳細は下記に書いています。<br /><br />共用プラン:すぐ使えます。<br />VPSプラン:12時間以内。<br />専用プラン:48時間以内",
					"支払い方法は、弊社指定の銀行口座へのお振り込み、クレジットカード決済のいずれかとなります。<br /><br />
					※ <strong>銀行振り込みの場合</strong><br />振込手数料は、お客様負担とさせていいただいております。<br /><br />
					※<strong>クレジットカード決済の場合</strong>
					ご利用可能なクレジットカードは、VISA / Master / JCB / AMEX です。<br />弊社ではカード番号を保持しないため、自動引落しではございませんので契約更新のたびにお支払い手続きが必要となります。",
					"サーバーのみお申し込み可能です。", 
					"他サーバーから乗り換えたい場合お客様のホームページ無料でトランスファー【フォルダー、ファイル、データベース、メールアカウントなど】します。", 
					"5", 
					"6",
					"7", 
					"8",
					"9", 
					"10",
					"海外の一部の ISP(インターネットサービスプロバイダー)から弊社サーバへ不正アクセスが多発しているため、セキュリティ対策としてアクセス制限を実施しております。<br><br>
					日本国外から弊社サーバーへアクセスした場合、アクセスできない可能性がございます。ご都合が悪い場合には、お客様センター までご連絡ください。個別にアクセス制限の調整をさせていただきます。", 
					"12",
					"13", 
					"14",
					"15", 
					"16",
					"17", 
					"サーバは国内に設置されており、耐震、耐火構造の堅牢な建物に24時間有人監視、入室に際するセキュリティーチェック等、万全の体制を整えております。<br><br>
					また、バックボーンも 国内最大級の173Gbpsに接続されております。<br>サーバーからバックボーンへの接続は200Mbpsとなります。",
					"19", 
					"20",
					"21", 
					"22",
					"23", 
					"24",
					"25", 
					"26",
					"27", 
					"<p>FTPソフトの<strong>PASVモード</strong>(パッシブモード)をON又はOFFどちらかに変える。<br>
						1) ファイアウォールを解除して接続してみる。<br>
						2) 10分ほどしてから接続する。<br>
						3) IDや、パスワードが間違っていませんか?<br>
						  a) コピーアンドペーストで貼り付けて下さい。<br>
						  b) パスワード部分への貼り付けは[ctrl]+[v]で可能ですので、お試し下さい。<br><br><br>
					</p>
					<p><strong>FFFTP</strong>でファイル一覧の取得ができない。<br>
						1) [ホストの設定] - [高度タブ] へすすみ、<br>
						2) [listコマンドでファイル一覧を取得]にチェックを入れる。<br>
						3) 接続して、右クリックメニューの[最新の情報に更新] で表示されます。<br><br><br>
					</p>
					<p>以上を試しても接続できない場合。<br><a href=\"../contact/\" title=\"お問い合せページ\">お問い合せページ</a>よりお名前とドメイン名をお知らせ下さい。</p>",
					"public_html の中にアップロードして下さい。", 
					"30",
					"31",
					"32", 
					"33",
					"34", 
					"35",
					"36", 
					"37",
					"38", 
					"39",
					"40", 
					"41");


echo '<div class="faqtitle"><span class="faqtitlespan">' .$questions[$q]. '</span></div><div class="faqanswer">' .$answers[$q]. '</div>';
?>

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.