🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.javascript
4 messages
4 total messages Started by jivanmukta Sat, 02 Aug 2014 18:05
nie działa mi javascript
#51440
Author: jivanmukta
Date: Sat, 02 Aug 2014 18:05
95 lines
12467 bytes
Napisałem kilka stronek w HTML/CSS/JavaScript i nie miałem żadnych problemów z JavaScriptem. Teraz zrobiłem pierwszą stronkę w CodeIgniterze (framework PHP5) i nie wykonuje mi się kod JavaScript, nie wiem dlaczego. Czy mógłby mnie ktoś NAPROWADZIĆ NA ZNALEZIENIE PRZYCZYNY, bo nie jestem zbyt doświadczony.
Stronka zaczyna się tak ("pokazuję źródło strony"):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html lang="pl">
<head>
    <title>Ogłoszenia - Nieruchomości: najem, wynajem, kupno, sprzedaż, zamiana</title>
    <meta http-equiv="content-Type" content="text/html; charset=UTF-8">
    <meta http-equiv="Content-Language" content="pl-PL">
    <meta http-equiv="Expires" content="0">
    <meta http-equiv="Cache-Control" content="no-store, no-cache, must-revalidate">
    <meta http-equiv="Cache-Control" content="post-check=0, pre-check=0">
    <meta http-equiv="Pragma" content="no-cache">
	<meta name="language" content="polish">
    <meta name="robots" content="index,nofollow">
    <link href="resources/styles.css" rel="stylesheet" type="text/css">
    <script src="resources/functions.js" type="text/javascript"></script>
    <script src="resources/animations.js" type="text/javascript"></script>
    <script src="resources/jquery-2.1.1.min.js" type="text/javascript"></script>
    <script src="resources/jquery.validate.min.js" type="text/javascript"></script>
    <script src="resources/jquery.MultiFile.js" type="text/javascript"></script>
    <script type="text/javascript">
		var furnitureTypes = [ "c", "n", "w" ];	// słownik dla umeblowania
		var units = [ "M2", "HA" ];	// słownik jednostek
		var unitNames = [ "m<sup>2<\/sup>", "ha (hektarów)" ];	// słownik nazw jednostek
		var offerTypes = [ "k", "n", "s", "w", "z" ];	// słownik dla typów ofert
		var currencies = [ "C", "E", "G", "P", "U" ];	// słownik dla walut
		var estateTypesVisibility = [ [ 'B', '+', '+', '+', '+', '-', '+', '+', '-', '+', '+', '+', '+', '-', '-', '0', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+'], [ 'BB', '+', '+', '+', '+', '-', '+', '+', '-', '+', '+', '+', '+', '-', '-', '0', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+'], [ 'BH', '+', '+', '+', '+', '-', '+', '+', '-', '+', '+', '+', '+', '-', '-', '0', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+'], [ 'BI', '+', '+', '+', '+', '-', '+', '+', '-', '+', '+', '+', '+', '-', '-', '0', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+'], [ 'BM', '+', '+', '+', '+', '-', '+', '+', '-', '+', '+', '+', '+', '-', '-', '0', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+'], [ 'BP', '+', '+', '+', '+', '-', '+', '+', '-', '+', '+', '+', '+', '-', '-', '0', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+'], [ 'BU', '+', '+', '+', '+', '-', '+', '+', '-', '+', '+', '+', '+', '-', '-', '0', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+'], [ 'DM', '+', '+', '+', '+', '-', '+', '+', '', '+', '+', '+', '+', '-', '-', '0', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+'], [ 'DW', '+', '+', '+', '+', '-', '+', '+', '', '+', '+', '+', '+', '-', '-', '0', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+'], [ 'DZ', '+', '+', '+', '+', '-', '+', '+', '', '+', '+', '+', '+', '-', '-', '0', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+'], [ 'DZB', '+', '+', '+', '+', '-', '-', '+', '-', '-', '+', '+', '+', '-', '+', '-', '+', '+', '-', '+', '+', '+', '-', '-', '+', '+', '+'], [ 'DZI', '+', '+', '+', '+', '-', '-', '+', '', '+', '+', '+', '+', '+', '+', '0', '+', '+', '-', '+', '+', '+', '-', '+', '+', '+', '+'], [ 'DZR', '+', '+', '+', '+', '-', '-', '+', '', '+', '+', '+', '+', '+', '+', '0', '+', '+', '-', '+', '+', '+', '-', '+', '+', '+', '+'], [ 'G', '+', '+', '+', '+', '-', '-', '+', '-', '+', '+', '+', '+', '-', '-', '1', '-', '-', '-', '-', '-', '-', '-', '-', '+', '+', '+'], [ 'GR', '+', '+', '-', '+', '-', '-', '+', '-', '-', '+', '+', '+', '+', '+', '0', '+', '+', '-', '+', '+', '+', '+', '+', '+', '+', '+'], [ 'GU', '+', '+', '+', '+', '-', '-', '+', '-', '-', '+', '+', '+', '+', '+', '0', '+', '+', '-', '+', '+', '+', '-', '+', '+', '+', '+'], [ 'I', '+', '+', '+', '+', '+', '+', '+', '', '+', '+', '+', '+', '+', '+', '0', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+'], [ 'K', '+', '+', '+', '+', '+', '-', '+', '1', '+', '+', '+', '+', '-', '-', '0', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+'], [ 'L', '+', '+', '+', '+', '+', '-', '+', '', '+', '+', '+', '+', '-', '-', '0', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+'], [ 'LNDZN', '+', '+', '+', '+', '+', '-', '+', '', '+', '+', '+', '+', '-', '-', '0', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+'], [ 'LNDZU', '+', '+', '+', '+', '+', '-', '+', '', '+', '+', '+', '+', '-', '-', '0', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+'], [ 'LUB', '+', '+', '+', '+', '+', '-', '+', '', '+', '+', '+', '+', '-', '-', '0', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+'], [ 'LUH', '+', '+', '+', '+', '+', '-', '+', '', '+', '+', '+', '+', '-', '-', '0', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+'], [ 'M', '+', '+', '+', '+', '+', '-', '+', '', '+', '+', '+', '+', '-', '-', '0', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+'], [ 'PE', '+', '+', '+', '+', '-', '+', '+', '', '+', '+', '+', '+', '-', '-', '0', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+'], [ 'PL', '+', '+', '+', '+', '-', '-', '+', '-', '-', '+', '+', '+', '-', '+', '0', '+', '+', '+', '+', '+', '+', '-', '+', '+', '+', '+'], [ 'PO', '+', '+', '+', '+', '+', '-', '+', '1', '+', '+', '-', '+', '-', '-', '0', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+'], [ 'R', '+', '+', '+', '+', '-', '+', '+', '', '+', '+', '+', '+', '-', '-', '0', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+', '+'] ];
		var priceFor = [ "z", "z", "z", "z", "z", "z", "z", "z", "z" ];
		var offerTypesVisibility = [ [ 'K', '-', '+', 'PLN', '+', '-', '+'], [ 'N', '-', '+', 'PLN', '+', '+', '+'], [ 'S', '-', '+', 'PLN', '+', '-', '+'], [ 'W', '-', '+', 'PLN', '+', '+', '+'], [ 'Z', '+', '+', '-', '+', '-', '+'] ];
		var priceForArray = [ [ ['C', 'za całość'], ['HA', 'za hektar'], ['M2', 'za metr kwadratowy'] ], [ ['M', 'za miesiąc'], ['MCZ', 'za miesiąc z czynszem'], ['MCZOL', 'za miesiąc z czynszem + opłaty licznikowe'], ['MOL', 'za miesiąc + opłaty licznikowe'], ['OM', 'za osobę/miesiącc'], ['OMOL', 'za osobę/miesiąc + opłaty licznikowe'] ], [ ['C', 'za całość'], ['HA', 'za hektar'], ['M2', 'za metr kwadratowy'] ], [ ['M', 'za miesiąc'], ['MCZ', 'za miesiąc z czynszem'], ['MCZOL', 'za miesiąc z czynszem + opłaty licznikowe'], ['MOL', 'za miesiąc + opłaty licznikowe'], ['OM', 'za osobę/miesiącc'], ['OMOL', 'za osobę/miesiąc + opłaty licznikowe'] ] ];	// kolejność wartości taka jak w priceFor
		var vulgarWords = [ "cholera", "chuj", "chuja", "chuje", "chujem", "chujowy", "cip", "cipa", "cipach", "cipami", "cipą", "cipek", "cipka", "cipkach", "cipkami", "cipką", "cipki", "cipy", "dup", "dupa", "dupach", "dupami", "dupy", "fuck", "gówien", "gówna", "gównach", "gównami", "gówniany", "gówno", "huj", "huja", "huje", "hujem", "hujowy", "jebać", "jebana", "jebane", "jebany", "kupa", "kupą", "kurew", "kurewska", "kurewski", "kurewskich", "kurewskie", "kurwa", "kurwą", "kurwy", "kutas", "kutasa", "kutasach", "kutasami", "kutasem", "kutasie", "kutasy", "nasrać", "nasrając", "nasrane", "obsrać", "obsrane", "obsrany", "osrać", "osrane", "osrany", "pieprznięta", "pieprznięte", "pieprznięty", "pieprzone", "pieprzony", "pieprzyć", "pierdolona", "pierdolone", "pierdolony", "pizd", "pizda", "pizdy", "piździe", "seks", "seksualny", "sex", "sexual", "skurwiel", "skurwiele", "skurwysyn", "skurwysyny", "skurwysyństwo", "spierdalaj", "spierdalajcie", "spierdalajmy", "spierdalamy", "spierdalasz", "spierdolne", "spierdolona", "spierdolony", "wysraj", "wysrają", "wysrajmy", "wysrane" ];	// słowa wulgarne
	 </script>
    <script type="text/javascript">
/*
		jQuery.validator.addMethod("mobilePL", function(mobileNumber, element) {
			mobileNumber = mobileNumber.replace(/\s+/g, "");
			return this.optional(element) || mobileNumber.match(/^\d{3}-?\d{3}-?\d{3}$/);
		}, "Please specify a valid mobile number");
		jQuery.validator.addMethod("directionPL", function(directionNumber, element) {
			directionNumber = directionNumber.replace(/\s+/g, "");
			return this.optional(element) || directionNumber.match(/^\d{2}$/);
		}, "Please specify a valid direction number");
		jQuery.validator.addMethod("phonePL", function(phoneNumber, element) {
			phoneNumber = phoneNumber.replace(/\s+/g, "");
			return this.optional(element) || phoneNumber.match(/^\d{2,3}-?\d{2}-?\d{2}$/);
		}, "Please specify a valid phone number");
		jQuery.validator.addMethod("pricePL", function(price, element) {
			price = price.replace(/\s+/g, "");
			return this.optional(element) || price.match(/^(-|\+)?\d+(\.\d{1,2})?$/);
		}, "Please specify a valid price");
		jQuery.validator.addMethod("number_letter", function(text, element) {
			text = text.replace(/\s+/g, "");
			return this.optional(element) || text.match(/^\d+[a-zA-Z]?$/);
		}, "Please specify number optionally follwed by single letter");
		jQuery.validator.addMethod("vulgar", function(text, element) {
			text = text.replace(/\s+/g, "");
			return this.optional(element) || !findInArray(vulgarWords, text);
		}, "Please do not enter vulgar words");
		$(document).ready(function() {
			$("#property_estate_type_id").on('change', showPropertyROws);
			$("#property_estate_type_id").on('keyup', showPropertyRows);
			$("#property_estate_type_id").on('keydown', showPropertyRows);
			$("#offer_type_id").on('change', showAnnouncementRows);
			$("#offer_type_id").on('keyup', showAnnouncementRows);
			$("#offer_type_id").on('keydown', showAnnouncementRows);
*/
			animateButton('submit_announcement'); 
			animateMainTitle();
			animateIntro('to_read');
			showPropertyRows(); 
			showAnnouncementRows();
/*			$("#announcement").validate({
				messages: {
					email: {	email: 'Wpisz poprawny adres email', },
					number: { number: 'Wpisz poprawną liczbę', },
					mobilePL: {	mobilePL: 'Podaj poprawny numer komórkowy', },
					directionPL: {	directionPL: 'Podaj poprawny numer kierunkowy',	},
					phonePL: { phonePL: 'Podaj poprawny numer telefonu', },
					pricePL: { pricePL: 'Podaj poprawną kwotę', },
					number_letter: { number_letter: 'Wpisz liczbę opcjonalnie zakończoną pojedynczą literą', }, 
					vulgar: { vulgar: 'Proszę nie wpisywać wulgaryzmów', },
				}
			});
		});
*/
    </script>
	<script type="text/javascript" src="resources/ts_picker.js">
	//Script by Denis Gritcyuk: tspicker@yahoo.com
	//Submitted to JavaScript Kit (http://javascriptkit.com)
	//Visit http://javascriptkit.com for this script
	</script>
<script id=""></script></head>

Tzn. kod jQuery wykomentowałem, bo nie byłem go pewien. Arkusz styles.css jest poprawny. Co do functions.js i animations.js: właściwie to wiem że są OK bo działały mi na innej stronie, nie mniej jednak powiem, że JSLint pokazuje mi jakieś błędy ale jego uwagi wydają mi się bez sensu.
Byłbym wdzięczny za pomoc.
Re: nie działa mi javascript
#51441
Author: jivanmukta
Date: Mon, 04 Aug 2014 15:40
41 lines
3208 bytes
Mam jednak błąd w functions.js. 
Generuję listę tak: <?php echo form_dropdown('property_estate_type_id', $this->common->dropdown($estateTypes), (isset($property_estate_type_id) ? $property_estate_type_id : null)); ?> i dostaję:

<select name="property_estate_type_id">
<option value="" selected="selected">(wybierz)</option>
<option value="B">budynek</option>
<option value="BB">budynek biurowy</option>
<option value="BH">budynek handlowy</option>
<option value="BI">budynek inny</option>
<option value="BM">budynek magazynowy</option>
<option value="BP">budynek produkcyjny</option>
<option value="BU">budynek usługowy</option>
<option value="DM">dom mieszkalny</option>
<option value="DW">dom wielorodzinny</option>
<option value="DZ">dom zabytkowy</option>
<option value="DZB">działka budowlana</option>
<option value="DZI">działka inna</option>
<option value="DZR">działka rekreacyjna</option>
<option value="G">garaż</option>
<option value="GR">gospodarstwo rolne</option>
<option value="GU">grunt</option>
<option value="I">inna</option>
<option value="K">kawalerka</option>
<option value="L">lokal</option>
<option value="LNDZN">lokal na działalność nieuciążliwą</option>
<option value="LNDZU">lokal na działalność uciążliwą</option>
<option value="LUB">lokal użytkowy biurowy</option>
<option value="LUH">lokal użytkowy handlowy</option>
<option value="M">mieszkanie</option>
<option value="PE">pensjonat</option>
<option value="PL">plac</option>
<option value="PO">pokój</option>
<option value="R">rezydencja</option>
</select>

i próbuję się dobrać do listy w functions.js:

var estateTypeId = document.getElementsByName("property_estate_type_id")[0];
var selIdx = estateTypeId.selectedIndex;

ale niestety estateTypeId jest undefined. Zauważyłem że document.getElementsByName("property_estate_type_id").length == 0, nie rozumiem dlaczego...
Re: nie działa mi javascript
#51442
Author: nkab
Date: Wed, 06 Aug 2014 05:49
33 lines
2196 bytes
W dniu poniedziałek, 4 sierpnia 2014 17:40:09 UTC+2 użytkownik jivan...@poczta.onet.pl napisał:
> Mam jednak błąd w functions.js. 
> 
> 
> var estateTypeId = document.getElementsByName("property_estate_type_id")[0];
> var selIdx = estateTypeId.selectedIndex;
> 
> 
> 
> ale niestety estateTypeId jest undefined. Zauważyłem że
> document.getElementsByName("property_estate_type_id").length == 0, nie
> rozumiem dlaczego...


document.getElementsByName("SELECT") dotyczy nazw "SELECT", "OPTION", "INPUT" itp.


Radziłbym posłużyć się:

<select id="property_estate_type_id">
i
document.getElementByID("property_estate_type_id")


// odczytanie numeru wybranej opcji
property_estate_type_id.selectedIndex

// odczytanie tresci z value wybranego selecta
mem=property_estate_type_id.value;

alert(mem)

Andrzej.
Re: nie działa mi javascript
#51443
Author: jivanmukta
Date: Thu, 07 Aug 2014 14:52
2 lines
1741 bytes
Przeniosłem wywołanie funkcji z head script do body onload i teraz już działa.
Problem zamknięty. Dziękuję za pomoc.
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads