Ajax kullanan web sayfasina delphi ile veri girmek

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Ajax kullanan web sayfasina delphi ile veri girmek

Mesaj gönderen sadettinpolat »

arkadaslar merhaba,

resimde ki bir sayfayi delphiden TWebBrowser bilesenini kullanarak acip belirli sayida veriyi otomatik olarak girdirmem gerekiyor. no ve tutar alanlarina veri girip ekle dugmesine basilinca cagrilan bir fonksiyon ajaxla ilgili verileri bazi islemlerden gecirip alttaki listeye ekliyor. bu ekleme islemi sirasinda sag ustte "yükleniyor" ibaresi beliriyor. bir sonraki veriyi girmek icin "yukleniyor" ibaresinin kaybolmasini beklemek gerekiyor.

web sayfasi localde calistigindan evden test etme imkanim olmadigi icin biraz ustun koru bir calisma yaptim ve buraya yazarak gozden kacirdigim bir husus varsa sizlerden fikir almak istedim.

Resim

No ve tutar alanlarina su sekilde verileri girebilirim sanirim.

Kod: Tümünü seç

WebBrowser1.OleObject.Document.GetElementByID('txtNo').Value := 'SiradakiNo';
WebBrowser1.OleObject.Document.GetElementByID('txtTutar').Value := 'SiradakiTutar';
html dosya icerigi

Kod: Tümünü seç

	<tr>
		<td class="FieldHeader" width="110"><b> No</b></td>
		<td class="FieldText" width="200">
		  <INPUT type=text onkeypress="onlyNumbers(); enterKontrol(); return numericKontrol();" autocomplete=off name="txtNo" maxlength="13" />
		</td>
	</tr>
	<tr>
		<td class="FieldHeader" width="110"><b>Tutar</b></td>
		<td class="FieldText" colspan="3">
		  <INPUT type=text autocomplete=off onkeypress="onlyNumbers(); enterKontrol();" name="txtTutar" maxlength="18"/>
		</td>
	</tr>
verileri girdikten sonra yine su sekilde ekle dugmesinin click olayini delphiden atesleyebilirim sanirim.

Kod: Tümünü seç

WebBrowser1.OleObject.Document.GetElementByID('btnKayitEkle').Click;
html icerigi

Kod: Tümünü seç

		<TD colspan="4" align="center">
		<CENTER>
				<INPUT class="Button" type="button" name="btnKayitEkle" value="EKLE" onClick="msjReset();ekle();" />
		</CENTER>
		</TD>
kodu deneme firsatim su an itibariyle mevcut olmadigindan kesin birse y soyleyemiyorum ama sanirim buraya kadar olan kisim sorunsuz calisacaktir. su an calisip calismayacagini tam olarak kestiremedigim husus ise "yukleniyor" olayi. delphiden bir sonraki kaydi web sayfasina gondermeden once daha once gondermis oldugum kaydin isleminin bitmis olmasi gerekiyor. bunu da su sekilde yapabilecegimi saniyorum ama cok ta emin degilim.

Kod: Tümünü seç

  while WebBrowser1.OleObject.Document.GetElementByID('lblYukleniyor').value <>''do
lblyukleniyor su sekilde tanimli.

Kod: Tümünü seç

	<TR>
		<TD colspan="4"><span id="lblYukleniyor" class="LabelMesaj"></span></td>
	</TR>
ve su sekilde duruma gore "yukleniyor" yaziliyor ya da "yukleniyor" yazisi siliniyor..

Kod: Tümünü seç

     function(k) {
	    if(k!=4) {
		   get('lblYukleniyor').innerHTML = '<b>Yükleniyor...</b>';
		} else { 
		   get('lblYukleniyor').innerHTML = '';
		}
     }
yapmak istedigim islem icin gerekli tum bilgileri burada belirtebildim mi bilmiyorum fakat bu ufak kodu yarin deneme firsatim olacak. tereddut ettigim tek husus "yukleniyor" olayini dogru isleyip isleyemeyecegim. cunku test amacli olusturdugum bir html dosyasinda span taglari arasinda yer alan bir ifadeye value degeriyle ulasamadim. bu konuda fikirleriniz varsa ve paylasirsaniz sevinirim...
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

google innertext ile alabilecegimi soyledi.

Kod: Tümünü seç

WebBrowser1.OleObject.Document.GetElementByID('lblYukleniyor').innertext
ne kadar dogru simdilik birsey diyemiyorum :)
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

evet innerText ve innerHTML ile yapabilirsin.
DeveloperToolKit

..::|YeşilMavi|::..
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

lazio yazdı:evet innerText ve innerHTML ile yapabilirsin.
ilk denemede problemsiz bir sekilde calisti.
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
Cevapla