PDA

View Full Version : کمک :مشکل در چک باکس html



Maryam IT
چهارشنبه 31 خرداد 1391, 21:20 عصر
سلام دوستان من به یه مشکل برخوردم خواهشا هر کی میتونه منو راهنمایی کنه...
ببینید من یه سری چک باکس دارم میخوام که هر چن تای رو که انتخاب میکنم بر روی یک دکمه مثلا submit کلیک میکنم حالا باید یه صفحه باز بشه که فقط شامل اطلاعات همون چک باکسایی که انتخاب کردم باشه...
مثلا اگه 5 تا چک باکس داشته باشم و 3 تاشو انتخاب کردم دکمه رو میزنم حالا یه صفحه باز میشه که فقط اطلاعات همون سه تا چک باکس انتخاب شده باشه...با جاوا اسکریپت چطور میتونم تابعشو بنویسم؟

ravand
پنج شنبه 01 تیر 1391, 09:01 صبح
اگه میخوای با انتخاب سه تا چک باکس سه تا نشون داده بشه در سمت سرور وقتی کدهای دریافت اطلاعاتش رو گذاشتی این کار خودش انجام میشه و اون مقادیر چک باکش رو میشه نمایش داد.

Maryam IT
پنج شنبه 01 تیر 1391, 16:30 عصر
خب الان دقیقا مشکلم اینه که اطلاعات رو کجا وارد کنم؟

ravand
پنج شنبه 01 تیر 1391, 18:35 عصر
خب میتونی برای هر فیلد به این شکل عمل کنی.

<form action="8.php" method="POST">
انتخاب<input type="checkbox" name="ente" value="Php training" /><br>
<input type="submit" value="ارسال"/>
</form>
8.php

<?php
echo $_POST['ente'];
?>
این روش زمانی در فرم ها استفاده میشه که طرف فرم رو پر کرده وقتی دکمه ی ارسال رو زد. برای اینکه بررسی بشه که اشتباهی نشده . فرم رو که پر کرده چاپ میکنه براش، تا اینکه طرف خودش دکمه ی تایید رو بزنه و بگه مطالب پر شده صحیح است.
مقدار داده شده به value با کمک name به سمت سرور ارسال میشه.

Maryam IT
پنج شنبه 01 تیر 1391, 19:58 عصر
ببینید من فقط باید با html و جاوااسکریپت بنویسم
این کد رو ببینید
<HTML>
<head>
<TITLE>رزومه</TITLE>
</head>
<body>
<FORM method="POST" ACTION="information.html">
<center>
Select from here: <br><br>
<table>
<tr>
<td>
<input TYPE=checkbox name=information VALUE=تماس >
</td>
<td>
اطلاعات تماس
</td>
</tr>

<tr>
<td>
<input TYPE=checkbox name=information VALUE=شخصی>
</td>
<td>
اطلاعات شخصی
</td>
</tr>

<tr>
<td>
<input TYPE=checkbox name=information VALUE=تحصیلی >
</td>

<td>
اطلاعات تحصیلی
</td>
</tr>

<tr>
<td>
<input TYPE=checkbox name=information VALUE=علاقمندیها>
</td>

<td>
علاقه مندی ها
</td>
</tr>
</table>
<br> <INPUT TYPE=submit name=submit Value="Submit">
</center>
</FORM>
</BODY>
</HTML>

خب ببینید الان وقتی یه صفحه دیگه باز میشه باید همه اطلاعات مربوط به اون چک باکس مثل اطلاعات شخصی و...بیاد چطور اونا رو باید بنویسم؟آخه تو value که نمیشه!!!!

ravand
پنج شنبه 01 تیر 1391, 20:20 عصر
جاوا اسکریپت یه زبان سمت کلاینت هست نه سمت سرور.

Maryam IT
پنج شنبه 01 تیر 1391, 20:22 عصر
یعنی الان این اشتباس؟
یعنی باید با php بنویسم؟
اخه استادمون گفته اینو فقط با html و javascript باید بنویسین!!!

ravand
پنج شنبه 01 تیر 1391, 20:31 عصر
شاید منظورش این بوده که مقداری رو توی یه پنجره نمایش بده:

<html>
<head>
<script type="text/javascript">
function getElements() {
var itemValue = document.getElementsByName("x")[0].value;
alert(itemValue);
}
</script>
</head>
<body>
<input name="x" type="text"/>
<input type="button" onclick="getElements()" value="Show" />
</body>
</html>

Maryam IT
پنج شنبه 01 تیر 1391, 20:39 عصر
نه متاسفانه
گفته توی یه صفحه جدا که حاوی "متن اطلاعات لازمه "باشه!

exlord
جمعه 02 تیر 1391, 09:31 صبح
function send_click() {
var out_put = '';
var chk_list = document.getElementsByName('chk_list');
for (var i = 0; i < chk_list.length; i++) {
if (chk_list[i].checked)
out_put += "<div>" + chk_list[i].value + "</div>";
}
var win = window.open();
win.document.write(out_put);
}


با jquery :
function send_click() {
var out_put = '';
$('input[name=chk_list]:checked').each(function(){
out_put += "<div>" + $(this).val() + "</div>";
});
var win = window.open();
win.document.write(out_put);
}


<input type="checkbox" name="chk_list" value="1">
<input type="checkbox" name="chk_list" value="2">
<input type="checkbox" name="chk_list" value="3">
<input type="checkbox" name="chk_list" value="4">
<input type="submit" name="send" value="send" id="" onclick="send_click();">

ravand
جمعه 02 تیر 1391, 09:44 صبح
الان این کد شما یه صفحه بدون نام باز کرد شما میتونی با این کد مقادیر رو به صفحه ی مثلا 8.php بفرستی؟
این کار شدنی نیست. و کد شما کلا در سمت کلاینت کار میکنه.

exlord
جمعه 02 تیر 1391, 10:54 صبح
الان این کد شما یه صفحه بدون نام باز کرد شما میتونی با این کد مقادیر رو به صفحه ی مثلا 8.php بفرستی؟
این کار شدنی نیست. و کد شما کلا در سمت کلاینت کار میکنه.
چرا گیر سپیچ دادی به php ?

ببینید من فقط باید با html و جاوااسکریپت بنویسم

اخه استادمون گفته اینو فقط با html و javascript باید بنویسین!!!

ravand
جمعه 02 تیر 1391, 10:57 صبح
آخه ایشون سوالشون رو طوری مطرح کردن که من فکر کردم باید مقدار به صفحه ی خاصی ارسال بشه.

exlord
جمعه 02 تیر 1391, 11:05 صبح
اینم با ajax :
$('input[name=send]').click(function () {
var out_put = '[';
$('input[name=chk_list]:checked').each(function () {
out_put += $(this).val() + ",";
});
out_put = out_put.substr(0, out_put.length - 1);
out_put += ']';
$.ajax({
url:'getChk.php',
type:'POST',
data:{'do':'check_list','chk_list':out_put},
success:function(data){
var win = window.open();
win.document.write(data);
}
});
});


if (isset($_POST['check_list'])) {
$list = $_POST['chk_list'];
foreach($list as $chk){
echo "<div>$chk</div>";
}
}

ravand
جمعه 02 تیر 1391, 11:08 صبح
ایشون گفتن نمیخوان با php باشه.

exlord
جمعه 02 تیر 1391, 11:17 صبح
ایشون گفتن نمیخوان با php باشه.
اینو برا شما نوشتم که گیر دادی به php .
function send_click() {
var out_put = '';
var chk_list = document.getElementsByName('chk_list');
for (var i = 0; i < chk_list.length; i++) {
if (chk_list[i].checked)
out_put += "<div>" + chk_list[i].value + "</div>";
}
var win = window.open('2.html');
win.document.getElementById('chk_list').innerHTML = out_put;
}


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> this is page 2.html</title>
</head>
<body>
<div>
The list is :
<div id="chk_list"></div>
</div>
</body>
</html>