ورود

View Full Version : سوال: مشکل دکمه submit



com.mohsen
شنبه 05 آذر 1390, 00:11 صبح
با سلام
مشکل بنده خیلی ساده هست و خودم خجالت می کشم مطرح کنم.ببخشید
من یک فرم تهیه کردم و می خواهم وقتی همه ی فیلد ها پر شد دکمه submit فعال شود
دکمه submit را disabeled میکنم ولی وقتی می خواهم بعد از پر شدن فیلد ها فعال شود نمی دانم چکار کنم

hamid_shrk
شنبه 05 آذر 1390, 10:47 صبح
سلام
فکر میکنم این کد مشکلتون رو حل کنه :


<p>
<input type="text" id="text1" onchange="check()" />
<br />
<input type="text" id="text2" onchange="check()" />
<br />
<input type="button" id="btn" disabled="disabled" />
</p>
<script type="text/javascript" language="javascript">

function check() {
if (document.getElementById('text1').value != '' && document.getElementById('text2').value != '') {
document.getElementById('btn').disabled = false;
}


}
</script>

ravand
شنبه 05 آذر 1390, 15:58 عصر
اين كد به محض اينكه دكمه فوكوس رو دريافت بكنه عمل ميكنه. اگه ميشد به محض پر شدن تكست ها دكمه فعال ميشد بهتر بود. آيا ميشه اين كار رو كرد؟
متشكرم.

com.mohsen
شنبه 05 آذر 1390, 19:30 عصر
این یه مشکلی داره
وقتی هر دو فیلد رو پر می کنید دکمه فعال می شود ولی وقتی یکی از فیلد ها یا هر دو را پاک می کنیم دکمه باید disabel شود ولی دکمه فعال می ماند

blackmak
شنبه 05 آذر 1390, 21:50 عصر
<script>
function valid()
{
var valid = false;
var t1 = document.getElementById('t1').value;
var t2 = document.getElementById('t2').value;
var t3 = document.getElementById('t3').value;
if(t1 != '' && t2 != '' && t3 != '')
{
valid = true;
}
if(valid == true)
{
document.getElementById('b').disabled = false;
}
else if(valid == false)
{
document.getElementById('b').disabled = true;
}
}
</script>
<input type="text" name="t1" id="t1" onkeyup="valid()" /><br>
<input type="text" name="t2" id="t2" onkeyup="valid()" /><br>
<input type="text" name="t3" id="t3" onkeyup="valid()" /><br>
<input type="submit" name="b" id="b" disabled="disabled"/>

موفق باشید

com.mohsen
شنبه 05 آذر 1390, 22:14 عصر
متشکر

حالا اگر بخواهیم که t1 و t2 حداقل 10 کارکتر بگیرد و t3 مجاز به دریافت میل باشد چی؟و اینکه اگر کاربر بیش از 10 کارکتر زد در کنار textbox با رنگ قرمز یک هشداری مبنی بر اینکه نمی توانید بیشتر از 10 کارکتر را وارد کنید نمایش دهد و همین طور برای میل که به کاربر نمایش دهد که میل اشتباه است

در ضمن اگر pdf مناسبی در این ضمینه دارید معرفی یا برای دانلود برایم بگذارید.

متشکر

blackmak
شنبه 05 آذر 1390, 23:24 عصر
حوصله نوشتنش با javascript نداشتم با jquery نوشتم
برای اینکه این کد ها کار کنه برید تو لینک زیر و کتابخونه jquery رو دانلود کنید و با نام jquery.js کنار فایلتون قرار بدبد.
http://jquery.com/

<script src="jquery.js" type="text/javascript"></script>
<script>
$(function()
{
var b_val= false;
$("#b").attr("disabled", "disabled");
function validateEmail(elementValue)
{
var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
return emailPattern.test(elementValue);
}
$('input').keyup(function()
{
var t1 = $('#t1').val();
var t2 = $('#t2').val();
var email = $('#email').val();

if(t1.length < 10 || t2.length < 10 || email == '')
{
$("#b").attr("disabled", "disabled");
b_val = false;
}
else
{
$("#b").removeAttr("disabled", "disabled");
b_val = true;
}
});

$('#b').click(function()
{
if(b_val == true)
{
t1 = $('#t1').val();
t2 = $('#t2').val();
var email = $('#email').val();

if(t1.length > 10)
{
$('#t1').next('span').html(' error1');
}
else
{
$('#t1').next('span').html('');
}
if(t2.length > 10)
{
$('#t2').next('span').html(' error2');
}
else
{
$('#t2').next('span').html('');
}
if(validateEmail(email) == false)
{
$('#email').next('span').html(' Not a Valid Email');
}
else
{
$('#email').next('span').html('');
}
}
});
});
</script>
<input type="text" name="t1" id="t1" /><span></span><br>
<input type="text" name="t2" id="t2" /><span></span><br>
<input type="text" name="email" id="email" /><span></span><br>
<input type="submit" name="b" id="b" />

موفق باشید

blackmak
شنبه 05 آذر 1390, 23:26 عصر
برای شروع javascript یا jquery هم به این سایت مراجعه کنید : w3schools (http://www.w3schools.com/)