PDA

View Full Version : مبتدی: اجرای کد زمان کلیک



Mohsen.
جمعه 26 خرداد 1391, 23:00 عصر
سلام دوستان عزیز
من تازه میخوام جاوا اسکریپت یاد بگیرم. البته الان این سوال خیلی خیلی ضروریه
میخوام وقتی کاربر روی یک دکمه کلیک کرد مثلا یک مقداری رو در یک تکست باکس قرار بدم.
لظفا همین الان بگین:افسرده:

Mohsen.
شنبه 27 خرداد 1391, 09:38 صبح
دوستان کسی نبود.
من فقط میخوام وقتی کاربر روی یک دکمه کلیک کرد(رویداد کلیک) یک کارهایی که من میگم انجام بشه. در mootools این کدش هست. اما من جاوا رو لازم دارم.

$('one1').addEvent('click',function(){
$('num1').value=$('num1').value + 1;
});

محسن واژدی
شنبه 27 خرداد 1391, 16:30 عصر
سلام
میتوانید از رویداد onClick استفاده کنید



<html>
<head>

<script type="text/javascript">
function BTN_Click(){
alert("Clicked");
}
</script>

</head>

<body>

<input type="button" onClick="BTN_Click()" value="Click here">

</body>
</html>
موفق باشید

lady64
یک شنبه 28 خرداد 1391, 09:09 صبح
آقا محسن ببخشید سوالم رو اینجا مطرح میکنم ، آخه مربوط به سوال شما هم هست . در تکست فیلد وقتی مقداری وارد میکنم میخوام شرط مربوطه را اجرا کنه ولی کد من کار نمیکنه . چرا ؟


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<script type="text/javascript">

function num ( )
{
var v;
var v=t.value;
if(v=='1')
document.write("one")
else if(v=='2')
document.write("two")
else if(v=='3')
document.write("tree")
else
document.write("other")


}

</script>
</head>
<body>
<form id="form1" name="form1" method="post" action="">
<label>
<input name="t" type="text" id="t" />
</label>
<label>
<input type="submit" name="Submit" value="Submit" onclick=" num() " />
</label>
</form>
</body>
</html>




به این صورت هم که تغییر دادم فقط other چاپ میشه .

<script type="text/javascript">
function num ( )
{
var v;
var v=document.getElementById("t");
if(v=="1")
document.write("one")
else if(v=='2')
document.write("two")
else if(v=='3')
document.write("tree")
else
document.write("other")


}
</script>

محسن واژدی
دوشنبه 29 خرداد 1391, 06:38 صبح
سلام
کد زیر را بررسی کنید:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Untitled Document</title>

<script type="text/javascript">



function num () {

var v=document.getElementById("t").value;

if(v=='1'){
document.write("one")
}else if(v=='2'){
document.write("two")
}else if(v=='3'){
document.write("tree")
}else{
document.write("other")
}

}
</script>


</head>

<body>

<form id="form1" name="form1" method="post">

<label>

<input type="text" id="t" onkeyup="num()" />

</label>

<label>

<input type="submit" name="Submit" value="Submit"/>

</label>

</form>

</body>

</html>
البته چون از submit استفاده شده و اگر بخواهیم درخواست توسط فرم ارسال شود میتوانیم کد فرم را بصورت زیر ویرایش کنیم:


<form id="form1" name="form1" method="post" action="javascript:num()">

<label>

<input type="text" id="t" />

</label>

<label>

<input type="submit" name="Submit" value="Submit"/>

</label>

</form>
موفق باشید

lady64
دوشنبه 29 خرداد 1391, 07:57 صبح
ممنونم. فقط قسمت کد جاوااسکریپت رو تغییر دادم درست شد . اصلا تصور نمیکردم برای if های تک دستوری کروشه بخواد . همه نوع تغییری داده بودم جز این .
البته برای submit هم ، همون onclick رو استفاده کردم ، حل شد . خیلی ممنون .

lady64
دوشنبه 29 خرداد 1391, 14:10 عصر
یک سوال دیگه . این کد رو من در یک آموزش دیدم ، برای اینکه مقدار یک تکست فیلد رو در متغیر بریزیم . ولی کار نمیکنه . علتش چیه


var v=t.value;

فرض کنیم t اسم آیدی تکست فیلد هست . حتما باید از این کد استفاده بشه :


var v=document.getElementById("t").value;

محسن واژدی
دوشنبه 29 خرداد 1391, 15:42 عصر
البته برای submit هم ، همون onclick رو استفاده کردم ، حل شد سلام
بله، اینطور هم میشود اما چون عموما از submit برای ارسال یک فرم استفاده میشود بهتر است از نوع button بجای submit در خاصیت type استفاده کنیم، مشکلی نیست اما همانطور که اطلاع دارید خوانایی کد افزایش میابد
یک سوال دیگه . این کد رو من در یک آموزش دیدم ، برای اینکه مقدار یک تکست فیلد رو در متغیر بریزیم . ولی کار نمیکنه . علتش چیه


var v=t.value;

فرض کنیم t اسم آیدی تکست فیلد هست . حتما باید از این کد استفاده بشه :


var v=document.getElementById("t").value;
تا آنجایی که بنده اطلاع دارم از توابعی مشابه getElementById برای گرفتن خاصیت یک شی استفاده میشود