Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Viestin lähetys jQuerylla, syntaksivirhe

Juhku [11.11.2015 18:34:55]

#

Moi putkalaiset!

Mulla on pieni ongelma.
En saa tuota textareaa lähtemään mitenkään päin.
Voisiko joku kertoa miten tämä ratkaistaan?
Syy miksi load(), koska saan samalla viestin, että onnistuiko vai ei.

Kiitos jo etukäteen!

$('#chat_text_area').keypress(function (e) {
  if (e.which == 13) {
	  var $message = $("textarea[name='chat_text_area']").val();
    $("#chat-information").load("/back/chat_message/". message);
	event.preventDefault();
    return false;
  }
});

Metabolix [11.11.2015 18:46:42]

#

Oletko lukenut virheilmoituksia tai edes koodiasi? Sijoitat muuttujaan $message, mutta myöhemmin koodissasi lukee message, ja ennen messagea on jostain syystä piste eikä esimerkiksi pilkku (jos haluat antaa kaksi parametria) tai +-merkki (jos haluat yhdistää merkkijonot). Varmaan pitäisi myös lähettää viesti POST-metodilla ja käyttää normaalia lähetysmuotoa (esim. antamalla parametriksi objekti) eikä yrittää tunkea lähetykseen raakaa tekstiä.

Siis koodin vialliset rivit voisivat järkevämmin näyttää tältä:

var message = $("textarea[name='chat_text_area']").val();
$("#chat-information").load("/back/chat_message/send", {"message": message});

Osoitteessa /back/chat_message/send sitten käsiteltäisiin POST-arvo nimeltä message.

Voisit myös koettaa otsikoida viestisi paremmin: ”Pieni textarea ongelma” ei kerro mitään ongelmasta, kun taas ”viestin lähetys jQuerylla” kuvaisi tilannetta jo kohtalaisesti.

Juhku [12.11.2015 19:50:47]

#

Kiitos paljon Metabolix!
Tuo auttoi, yritän muotoilla ostikon ensikerralla paremmin.
Konsolin katsoin silloin ja antoi ympäripyöreän Syntax errorin ja riviä paha sanoa, koska PHP generoi sivun monesta tiedostosta.
Ja Jqueryä yritän parhaani mukaan oppia (samoin node.jssää).

TuomasK [12.11.2015 20:56:19]

#

Oikean rivin voi muuten paikantaa katsomalla sivun lähdekoodia selaimen päässä. Joko ihan hiiren kakkospainikeella -> näytä lähdekoodi, tai sitten kehittäjätyökalujen kautta, ainakin operassa Sources välilehti. Siitä en tiedä onko tällläinen tiedostojen yhdistely miten järkevää, oletan että haet php:llä scriptit yms. jo palvelimella suoraan koodin sekaan. Ainakin vähentää palvelimelle meneviä pyyntöä, tiedä siitä sitten...

Metabolix [13.11.2015 15:27:40]

#

Juhku kirjoitti:

Konsolin katsoin silloin ja antoi ympäripyöreän Syntax errorin

Sekin olisi hyvä kertoa jo kysymyksessä, ja sehän olennaisesti jo muuttaa kysymystä: ongelma ei enää ole, että epäselvästä syystä viesti ei lähde, vaan ongelma on, että koodissa on syntaksivirhe, jota et itse löydä. Kuten TuomasK totesi, yleensä konsolista saa auki kooditiedostot ja jopa saattaa klikkaamalla päästä suoraan virheriville.

The Alchemist [13.11.2015 16:06:59]

#

Juhku kirjoitti:

Kiitos paljon Metabolix!
Tuo auttoi, yritän muotoilla ostikon ensikerralla paremmin.
Konsolin katsoin silloin ja antoi ympäripyöreän Syntax errorin ja riviä paha sanoa, koska PHP generoi sivun monesta tiedostosta.

Php:llä ei ole mitään tekemistä js-syntaksivirheiden kanssa. Älä ihmettele php-koodia js-virheitä selvitellessä vaan katso sinne tuotettuun javascriptiin. Ainakin Chrome osaa jo nykyään virheilmoitusta klikattaessa avata kyseisen kohdan lähdekoodista.

Äläkä laita javascriptiä html-dokumenttiin; sekin helpottaa debuggaamista, kun koodia ei tarvitse etsiä jostain html:n keskeltä.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta