Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Problem med Simpel Ajax Kod

Postades av 2010-04-12 15:10:32 - Hassan Fakhro, i forum javascript/dhtml, Tråden har 24 Kommentarer och lästs av 2266 personer

Hej,

Jag får inte detta till att fungera:

Default.asp
<code>
<html>
<head>

<script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>

<script type="text/javascript">
$().ready(function{
$("#add-row").click(function{
$.post("ajax_test.asp");
});
});
</script>

</head>

<body>

Lägg Till

</body>
</html>

</code>

I ajax_test.asp har jag en asp kod som lägger till en sak i databasen
Det fungerar klockrent om jag besöker ajax_test.asp, men om jag klickar på länken "Lägg Till" så händer det ingenting.

Ja, jag är säker på att sökvägen till js/jQuery.js är korrect.
Jag är helt ny på detta och är tacksam för er hjälp.

Mvh Hassan


Svara

Sv: Problem med Simpel Ajax Kod

Postades av 2010-04-12 15:25:12 - Hassan Fakhro

Listade ut det:

Det funkade med detta:


<code>
<html>
<head>

<script type="text/javascript" src="js/jquery.js"></script>



<script type="text/javascript">
$(document).ready(function(){
$("#newtrust").click(function(event){
$.post('ajax_test.asp');
});
});
</script>


</head>

<body>

Lägg Till

</body>
</html>

</code>
Jag skulle nu vilja att efter jag klickat på "Lägg till" knappen så kommer det en text bredvid, tex: Klart!

Och efter det vill jag lista ut all data som jag har i databasen längst ner...
ja vill att den autouppdaterar data utan att ladda om hela sidan varje gång ja klickar på Lägg till..
Hoppas ni förstår...


Svara

Sv:Problem med Simpel Ajax Kod

Postades av 2010-04-13 08:36:40 - Jonas Sjöblom

Du måste skicka tillbaka data från ajax_test.asp. Det bästa är att json-encoda datat. Det tyvärr inte hur man gör det men förhoppningsvis finns det en funktion för det.

Sen gör du såhär:

<code>
$.post('ajax.asp', {
dataType: 'json',
success: function(data)
{
data.each(function(
// Gör något med ditt data här.. t.ex. ...
alert($(this).productId);
));
}
});
</code>


Svara

Sv: Problem med Simpel Ajax Kod

Postades av 2010-04-13 12:34:25 - Hassan Fakhro

Ajax.asp, är det min första sida då? Hur tar ja fram texten där? Samt vad skriver jag där du skrivit: här skriver du din data?


Svara

Sv:Problem med Simpel Ajax Kod

Postades av 2010-04-14 07:23:56 - Jonas Sjöblom

Sorry, ajax_test.asp ska det vara :)

Du måste skapa datat med javascript. T.ex.

<code>
$.post('ajax_test.asp', {
dataType: 'json',
success: function(data)
{
var bodyElement = $('body');
var table = $('<table></table>').appendTo(bodyElement); // Skapa en tabell och lägg in den sist i <body>-taggen
data.each(function(
var row = $('<tr></tr>').appendTo(table); // Skapa en rad i tabellen
$('<td></td>').appendTo(row).text(this.productId); // Lägg in t.ex. produktid
$('<td></td>').appendTo(row).text(this.productName); // Produktnamn
));
}
});
</code>


En annan, kanske lättare lösning är att returnera html direkt från ajax_test.asp i så fall gör du såhär:
<code>
$.post('ajax_test.asp', {
dataType: 'html',
success: function(data)
{
var bodyElement = $('body');
$('<div></div>').html(data).appendTo(bodyElement);
}
});
</code>

ajax_test.asp ska då alltså bara vara en helt vanlig html sida, det som står på sidan kommer visas på sidan som inehåller ajaxkoden.


Svara

Sv: Problem med Simpel Ajax Kod

Postades av 2010-04-14 09:59:12 - Hassan Fakhro

Alltså nu är jag lite vilse...
Vilken skall vara på förstasidan som heter test.asp och vilken skall vara i ajax_test.asp?

Test är första sidan där jag klickar på knappen, och ajax_test.asp är själva sidan som skall köras i bakgrunden, med asp koden.

Mvh Hassan


Svara

Sv:Problem med Simpel Ajax Kod

Postades av 2010-04-14 11:02:25 - Jonas Sjöblom

test.asp ska innehålla bl.a.
<code>
$.post('ajax_test.asp', {
dataType: 'html',
success: function(data)
{
var bodyElement = $('body');
$('<div></div>').html(data).appendTo(bodyElement);
}
});
</code>

test_ajax.asp ska innehålla datat som ska visas antingen json formaterad om du använder mitt första alternativ eller som ren html om du använder mitt andra alternativ.


Svara

Sv: Problem med Simpel Ajax Kod

Postades av 2010-04-14 12:44:26 - Hassan Fakhro

Får inte det till att funka:
Så ser mina filer ut:

Test.asp (Startsida)
<code>
<html>
<head>

<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/link.js"></script>
<script type="text/javascript" src="js/link_back.js"></script>

</head>

<body>

Lägg Till

</body>
</html>
</code>

link.js:
<code>

$(document).ready(function(){
$("#newtrust").click(function(event){
$.post("ajax_test.asp",{variabel:"varde1",variabel2:"varde2"},function(){
alert("Your message have been sent!");

});
});
});
</code>
link_back.js:
<code>
$.post('ajax_test.asp', {
dataType: 'html',
success: function(data)
{
var bodyElement = $('body');
$('<div></div>').html(data).appendTo(bodyElement);
}
});
</code>
Ajax_Test.asp
<code>
<HTML>
<HEAD>
<TITLE>Min Sida</TITLE>

</HEAD>
<BODY>

<% Namn = "Hassan"
Url = "Hassan"

Connect.Execute("Insert Into banner(namn,url) Values('" & Namn & "','" & Url & "')") %>

<b>Ditt meddelande är skickat!</b>

</BODY>
</HTML>
</code>

Har jag missförstått nått?
Alert boxen fungerar korrekt, men ja får inte texten "Ditt meddelande är skickat" tillbaka till test.asp


Svara

Sv:Problem med Simpel Ajax Kod

Postades av 2010-04-14 20:58:04 - Jonas Sjöblom

Du behöver ingen link_back.js du kan göra det samtidigt som man klickar på knappen:

<code>
$(document).ready(function(){
$("#newtrust").click(function(event){
$.post("ajax_test.asp",{variabel:"varde1",variabel2:"varde2"},function(data){
alert("Your message have been sent!");
var bodyElement = $('body');
$('<div></div>').html(data).appendTo(bodyElement);
});
});
});
</code>

Vad den säger är:
<code>
När sidan laddats
Sätt ett klick event på länken med id newtrust
När man klickar ska en ajaxrequest göras, ajaxrequesten returnerar något som vi här ger namnet "data"
Säg att meddelandet sparats
skapa en jquery-variabel innehållandes sidans <body>
Skapa en div, lägg in den returnerade datan i diven och fäst diven i sidans bodytag
</code>

Då genereras alltså denna kod ungefär på test.aspx:
<code>
<html>
<head>

<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/link.js"></script>
<script type="text/javascript" src="js/link_back.js"></script>

</head>

<body>

Lägg Till
<div><b>Ditt meddelande är skickat!</b></div>
</body>
</html>
</code>


Notera att eftersom datat från ajax_test.asp klistras in i bodytagen på sidan test.asp så ska den inte innehålla några html eller body taggar.

ajax_test.asp sa alltås se ut såhär:
<code>
<% Namn = "Hassan"
Url = "Hassan"

Connect.Execute("Insert Into banner(namn,url) Values('" & Namn & "','" & Url & "')") %>

<b>Ditt meddelande är skickat!</b>
</code>


Svara

Sv: Problem med Simpel Ajax Kod

Postades av 2010-04-14 23:09:57 - Hassan Fakhro

Oki, men lägger ja tack knapp vid tryckning så tackar den fastän scriptet inte vill ha me vissa "regler"..
men skit samma, ja har fått de till at funka med mina följande koder, men ja får inte med formen i input, får inte iväg värden till sidan som skall lagra de i databasen..

se mina filer:

Test.asp (Förstasidan):
<code>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/send.js"></script>

</head>

<body>

<div id="resultat"></div><br />

<form action="javascript:void(0);" method="post">
<input name="namn" type="text" id="namn" />

<input name="submit" type="submit" onclick="makeRequesten()" value="Send" />

</form>
</code>

Send.js (Ajax Kodningen):

<code>
function makeRequesten()
{
var http_request = getHttpRequest();

http_request.onreadystatechange = function() { handle_request(http_request); };
http_request.open('POST', 'send.asp', true);
http_request.send(null);

return false;
}

function handle_request(handle)
{
if (handle.readyState != 4) {
//Hit kommer du om anropet inte är komplett
return;
}

if (handle.status && handle.status != 200) {
//Något gick snett på server-sidan
alert('Ett fel uppstod');
return;
}

//Vi väljer att visa resultatet i en DIV som har ID = 'resultat'
document.getElementById('resultat').innerHTML = handle.responseText;
}


//Returnerar ett XMLHttpRequest objekt
function getHttpRequest()
{
var handle = false;

if (window.XMLHttpRequest) { // Firefox, Opera, Safari
handle = new XMLHttpRequest();

} else if (window.ActiveXObject) { // Internet Explorer
try {
handle = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
handle = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}

if (!handle) {
alert('Ger upp! Kan inte skapa ett XMLHTTP-objekt');
return false;
}

return handle;
}
</code>

Send.asp (Lagrar info i databasen):
<code>
TextArea = Request.Form("namn")

If TextArea = "" Then
Response.Write("You have to write something")
Else

Connect.Execute("Insert Into banner_minsidai(namn) Values('" & TextArea & "')")

Response.Write "Ditt meddelande är skickat!"
End If

Connect.Close
Set Connect = Nothing %>
</code>

Allt funkar perfekt, men hur skickar jag med Request.Form("namn") till send.asp ??


Svara

Sv:Problem med Simpel Ajax Kod

Postades av 2010-04-15 09:11:28 - Oskar Johansson

Förslagsvis hoppar du tillbaka till jQuery, mycket enklare. Sedan har jQuery en utmärkt dokumentation där allting förklaras http://api.jquery.com/jQuery.post/


Svara

Sv: Problem med Simpel Ajax Kod

Postades av 2010-04-15 11:35:39 - Jonas Sjöblom

Precs som Oskar säger så är det mycket enklare med jquery så jag förslår att du håller dig till det.


Svara

Sv:Problem med Simpel Ajax Kod

Postades av 2010-04-15 13:30:56 - Hassan Fakhro

Hej, tack...
ja de står inte mycket mer än detta tex:

<code>
$.ajax({
type: 'POST',
url: url,
data: data,
success: success
dataType: dataType
});
</code>

De har inte gjort nått exempel till asp eller nått..
Vad ja ska ange i formen eller hur ja tar fram värden i asp sidan.


Svara

Sv: Problem med Simpel Ajax Kod

Postades av 2010-04-15 13:45:12 - Henrik Malmberg

http://api.jquery.com/jQuery.post/

<b>Example: send form data using ajax requests</b>
$.post("test.php", $("#testform").serialize());


http://www.google.se/search?q=submit+a+form+using+jquery&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a



Svara

Sv:Problem med Simpel Ajax Kod

Postades av 2010-04-15 14:19:54 - Hassan Fakhro

Vad anger jag i formen om ja vill kalla på detta js.script?
Onsubmit="ajax()" funkar ej iaf...

Default:
<code>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/send.js"></script>
</head>

<body>

<form action="#" method="post">
<input name="name" type="text" id="name" />
<input name="submit" type="submit" onclick="ajax();" value="Send" />
</form>
</code>
send.js:
<code>
$.ajax({
type: 'POST',
url: ('send.asp'),
data: data,
success: success
});
</code>
Send.asp lagrar i databas...

Problemet ja har nu är att den går inte vidare till send.asp, misstänker att anropet från <form> är fel.


Svara

Sv: Problem med Simpel Ajax Kod

Postades av 2010-04-15 14:37:32 - Jonas Sjöblom

Tyvärr kan man vad jag vet inte posta ett formulär med ajax utan man måste skicka varje värde som en parameter

Ge din submit button id="send" och skriv såhär:

<code>
$('#send').click(function() {
var data = "name=" + $('#name').val(); // Datasträngen ska se ut såhär ungefär: "varde1=data1&varde2=data2&varde3=data3" osv..
$.ajax({
type: 'POST',
url: ('send.asp'),
data: data,
success: success
});
return false; // Return false gör att ingen postback av hela sidan görs.
});
</code>


Svara

Sv:Problem med Simpel Ajax Kod

Postades av 2010-04-15 14:52:12 - Hassan Fakhro

Nu har ja fått de till att funka, med name iaf...
så ser min kod ut:

Default.asp

<code>
<script type="text/javascript" src="js/jquery.js"></script>

<script type="text/javascript">
$(document).ready(function(){
$("#send").click(function(event){
$.post("send.asp", $("#name").serialize());
});
});
</script>

</head>

<body>

My Form!<br />
<div id="resultat"></div><br />


<form action="#" method="post">
<input name="name" type="text" id="name" />
<input name="submit" type="submit" id="send" onclick="send;" value="Send" />
</form>
</code>

Send.asp
<code>
<%' databaskoppling

TextArea = Request.Form("name")

Connect.Execute("Insert Into tabell(namn) Values('" & TextArea & "')")

Response.Write "Ditt meddelande är skickat!"

Connect.Close
Set Connect = Nothing %>
</code>

Detta funkar, men nu vill jag göra detta.

Jag vill få felmeddelande/meddelande skickade tillbaka till default.asp i divven som heter resultat.
Sedan vill jag även veta hur
<code>
$.post("send.asp", $("#name").serialize());
</code>
ser ut ifall ja skulle vilja lägga ditt efternamn, email etc...

Mycket tacksam för era svar.


Svara

Sv: Problem med Simpel Ajax Kod

Postades av 2010-04-15 16:40:46 - Henrik Malmberg

Grinigt inlägg incoming.



LÄS manualen, det står KLART OCH TYDLIGT.
Om du bara tänker klippa och klistra snuttar av kod som du har fått från någon på ett forum kan du lika gärna lägga ner verksamheten

Jag skrev något om serialize, prova att söka efter serialize i jQuery's manual, vad gör den? Vad förväntar sig .post för parametrar? Vad säger google om man söker efter "post a form with jquery +ajax"



Här har du lite kod att klistra in och testa;

var _0xe9db=["\x49\x20\x57\x49\x4C\x4C\x20\x52\x45\x41\x44\x20\x54\x48\x45\x20\x4D\x41\x4E\x55\x41\x4C\x20\x42\x45\x46\x4F\x52\x45\x20\x50\x4F\x53\x54\x49\x4E\x47\x20\x4F\x4E\x20\x50\x45\x4C\x4C\x45\x53\x4F\x46\x54\x2E\x53\x45\x21"];var a=_0xe9db[0];alert(a);


Svara

Sv:Problem med Simpel Ajax Kod

Postades av 2010-04-15 18:13:12 - Tom Granqvist

Haha :)


Svara

Sv:Problem med Simpel Ajax Kod

Postades av 2010-04-16 16:48:05 - Hassan Fakhro

Jag har försökt, o allt funkar nu, men förstår mig inte riktigt på callback funktionen...
Jag vill att response.write from send.asp skall visas på sidan... i divven "resultat"

Min Kod:

<code>
<script type="text/javascript" src="js/jquery.js"></script>

<script type="text/javascript">
$(document).ready(function(){
$("#send").click(function(event){
$.post("send.asp", $("#formen").serialize());
});
});
</script>

</head>

<body>

My Form!<br />
<div id="Resultat"></div><br />


<form action="#" method="post" id="formen">
<input name="name" type="text" id="name" /><br />
<input name="email" type="text" id="email" /><br />
<input name="submit" type="submit" id="send" onclick="send;" value="Send" />
</form>

</code>


Svara

Sv: Problem med Simpel Ajax Kod

Postades av 2010-04-16 18:36:38 - Jonas Sjöblom

Om du tittar på jquery dokumentationen ( http://api.jquery.com/jQuery.post/ ) står det såhär:

jQuery.post( url, [ data ], [ success(data, textStatus, XMLHttpRequest) ], [ dataType ] )
när det är inom [] betyder det att det är valfria parametrar, de måste alltså inte fyllas i.
Det som är av intresse för dig är "success", alltså 3e parametern som den förväntar sig att få som en funktion. Den säger helt enklt vad som ska hända när ajax-requesten lyckas.

Din kod ser ut så här nu:
$.post("send.asp", $("#formen").serialize());
Den skickar alltså 2 parametrar, url ("send.asp") och data ($("#formen").serialize()).

Vi ska alltså lägga till den 3e paramtern så det ser ut såhär:

<code>
$.post("send.asp", $("#formen").serialize(), function(responsData) {
// responsData är en variabel som innehåller allt som skrivs ut på sidan send.asp
// För att lägga in den här datan gör du såhär:
$('#resultat').html(responsData);
});
</code>

jquerys .html() function är samma sak som du kanske känner igen från vanlig javascript "innerHTML". Den säger alltså vad ett element ska innehålla.


Svara

Sv:Problem med Simpel Ajax Kod

Postades av 2010-04-16 19:47:39 - Hassan Fakhro

Hej Jonas!
Supersnällt av dig, ja har suttit i timmar på den sidan du visade och försökt o försökt men lyckades aldrig.
Nu funkar det, men texten kommer fram i ca en halv sekund eller 1 sekund sen försvinner den igen :S

<code>
<script type="text/javascript" src="js/jquery.js"></script>


<script type="text/javascript">
$(document).ready(function(){
$("#send").click(function(event){

$.post("send.asp", $("#formen").serialize(), function(responsData) {
// responsData är en variabel som innehåller allt som skrivs ut på sidan send.asp
// För att lägga in den här datan gör du såhär:
$('#resultat').html(responsData);
})
});
});
</script>

</head>

<body>

<form action="" method="post" id="formen">
<input name="name" type="text" id="name" /><br />
<input name="email" type="text" id="email" /><br />
<input name="send" type="submit" id="send" value="Send" />
</form>

<div id="resultat"></div><br />
</code>

Send.asp
<code>
<%
TextArea = Request.Form("name")
Email = Request.Form("email")

If TextArea = "" OR Email = "" Then
Response.Write "You have to enter a name and email."
Else

Connect.Execute("Insert Into banner(namn,url) Values('" & TextArea & "','" & Email & "')")

Response.Write "Your message is sent!"

End If %>
</code>

Ändrar mitt inlägg...
Funkar kanonbra nu, felet var att jag hade en submit knapp, ändrade bara type="submit" till type="button" så funkade det perfekt!

Mycket tacksam för er hjälp, speciellt Jonas!! :)


Svara

Sv: Problem med Simpel Ajax Kod

Postades av 2010-04-16 20:12:32 - Jonas Sjöblom

Troligtivs laddas sidan om när du klickar på submit. Ändra
<input name="send" type="submit" id="send" value="Send" />
till
<input name="send" type="button" id="send" value="Send" />
så borde det lösa sig. :)


Svara

Sv:Problem med Simpel Ajax Kod

Postades av 2010-04-16 20:19:50 - Hassan Fakhro

Hehe, vi skrev sammtidigt, se mitt tidigare inlägg längst ner =)


Svara

Sv: Problem med Simpel Ajax Kod

Postades av 2010-04-16 21:15:07 - Jonas Sjöblom

Roligt att du fick det att fungera till slut. :)

Sätt dig ner och gå igenom koden ordentligt och se till att du förstår vad det är som händer så kommer det att gå riktigt smidigt nästa gång du ska göra något liknande. :)


Svara

Nyligen

  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak
  • 16:14 Vem anlitar man egentligen när tak
  • 16:13 Vem anlitar man egentligen när tak
  • 11:52 Noen erfaring med uttak hos Mostbe
  • 11:51 Noen erfaring med uttak hos Mostbe

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 617
27 958
271 741
10 195
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies