ورود

View Full Version : مشکل با گرفتن محتوای textbox در جاوااسکریپت



one hacker alone
دوشنبه 20 آذر 1391, 02:48 صبح
با یاد خدا
با سلام
من در ajax هرکاری میکنم نمیتونم متغییرم رو از تکست باکس بگیرم

function send_recive()
{
var strcode;
createXMLHttpRequest();
strcode = document.getElementsByName("codetxt").value;
alert(strcode);
xmlhttp.onreadystatechange=answer;
xmlhttp.open("GET", pageurl +strcode, true);
xmlhttp.onreadystatechange=answer;
xmlhttp.send(null);

}


در بالا باید داخل متغییر strcode مقداری که کاربر وارد میکنه قرار بگیره که نمیگیره وقتی با alert محتوا رو چاپ کردم دیدم undefined چاپ میکنه
مشکلم فقط سر همین هست و بقیه چیزا درست کار میکنه
اینم از تکست باکس

<input type="text" name="code" id="codetxt" />
با getElementsById هم امتحان کردم نشد

Beginner2013
دوشنبه 20 آذر 1391, 08:47 صبح
با یاد خدا
با سلام
من در ajax هرکاری میکنم نمیتونم متغییرم رو از تکست باکس بگیرم

function send_recive()
{
var strcode;
createXMLHttpRequest();
strcode = document.getElementsByName("codetxt").value;
alert(strcode);
xmlhttp.onreadystatechange=answer;
xmlhttp.open("GET", pageurl +strcode, true);
xmlhttp.onreadystatechange=answer;
xmlhttp.send(null);

}


در بالا باید داخل متغییر strcode مقداری که کاربر وارد میکنه قرار بگیره که نمیگیره وقتی با alert محتوا رو چاپ کردم دیدم undefined چاپ میکنه
مشکلم فقط سر همین هست و بقیه چیزا درست کار میکنه
اینم از تکست باکس

<input type="text" name="code" id="codetxt" />
با getElementsById هم امتحان کردم نشد


سلام
دوست من متدهایی که برای دسترسی استفاده میشه به این شکل هست

document.getElementById("codetxt");
همونطور که دقت می کنید Element هست نه Elements چون اصولا ID باید منحصر به فرد باشه.
اما در دو متد زیر Elements داریم چون مقدار بازگشتی متد یک عنصر نیست بلکه آرایه ای از عنصرهاست
document.getElementsByTagName("input")["ایندکس اینپوت=چندمین تگ اینپوت در صفحه هست؟منهای 1 بکن"];

document.getElementsByName("code")["ایندکس=المنتی که می خواید چندمین تگ با این نام هست؟منهای 1 بکن"];

اما برای این متد آخر پارامتر رو شما به اشتباه codetxt نوشتید.