Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите новичку со скриптом (https://javascript.ru/forum/misc/51734-pomogite-novichku-so-skriptom.html)

Lexx32 17.11.2014 16:41

Помогите новичку со скриптом
 
Всем привет, пытаюсь пересесть с vbs на JS.
На форме есть текстовое поле и кнопка с функцией() + скрипт
В скрипте массив из3-5 элементов, нужно сделать поиск и выводить результат на страницу...
var Arr = [3]; //создем массив
Arr[0] = "первый";
Arr[1] = "второй";
Arr[2] = "третий";
Arr[3] = "четвертый";

function getTextInFind()
{
  var Item=document.forms[0].sub.value.toLowerCase();
	for(var i = 0; i < Arr.length; i++);
  var с = item.length;
  Var d = Arr[i].value;
	var b = d.substr(1,c);
	if (item=b) {
		document.write(Arr[i]);
	}
}

Выдает ошибку на строке 12 - предполагается наличие ";"
Подскажите в чем проблема???

Viral 17.11.2014 16:53

js - регистрозависимый язык, var необходимо писать с маленькой буквы

javascriptus-maximus-∆ 17.11.2014 16:53

в 12й строке Var с большой буквы

Safort 17.11.2014 17:41

10 строка. Зачем ; стоит?
12 строка. var пишется с маленькой.
14 строка. Логика условия, скорее всего, нарушена. Прочитай про оператор ==

Lexx32 17.11.2014 19:12

Про 10 строку еще не понял как концовку передавать, 12 исправил, теперь ошибка = не удается получить значение Arr[i].value? Это значит что массив не загрузился???

Lexx32 17.11.2014 20:34

Safort,
Пожалуйста помогите !!! очень нужно разобратся со скриптом...
Переделал скрипт так
var Arr = new Array(4);

window.onload = function()
{
Arr[0] = "первый";
Arr[1] = "второй";
Arr[2] = "третий";
Arr[3] = "четвертый";

}


function getTextInFind()
{
  var Item=document.forms[0].sub.value.toLowerCase();
	for(var i = 0; i < 4; i++)
  var c = item.length-1;
  var d = Arr[i];
	var b = d.substr(0,c);
	if (item==b) {
		document.write(Arr[i]);
	}
}

И все равно substr ошибка, в справочнике прочитал, вроде так...

Lexx32 17.11.2014 20:56

Люди !!! уже так переделал, все равно херня...
var Arr = new Array(4);

window.onload = function()
{
Arr[0] = "первый";
Arr[1] = "второй";
Arr[2] = "третий";
Arr[3] = "четвертый";

}


function getTextInFind()
{
  var Item=document.forms[0].sub.value.toLowerCase();
	for(var i = 0; i < 4; i++)
   if (Arr[i].localeCompare(item) ==0) {
    document.write( + Arr[i]);
   }
	}

скажите как надо???

Safort 17.11.2014 22:37

Lexx32,
попробуй так
function getTextInFind() {
  var Arr = ["первый", "второй", "третий", "четвертый"];
  var Item = document.forms[0].sub.value.toLowerCase();

  for(var i = 0; i < Arr.length; i++) {
    var с = Item.length;
    var d = Arr[i];
    var b = d.substr(1, c);

    if (Item == b) {
      document.write(Arr[i]);
    }
  }
}

window.onload = function() {

  getTextInFind();

};

ksa 18.11.2014 08:55

Цитата:

Сообщение от Lexx32
На форме есть текстовое поле и кнопка с функцией() + скрипт
В скрипте массив из3-5 элементов, нужно сделать поиск и выводить результат на страницу...

Х/з, что ты там проверяешь... Но как вариант для иллюстрации тестового примера и пр...

<!DOCTYPE html>
<html>
<head>
<!--
<script src='http://code.jquery.com/jquery-latest.js'></script>
<link rel='stylesheet type=text/css href=tmp.css' />
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
var a=[];
a[0] = "первый";
a[1] = "второй";
a[2] = "третий";
a[3] = "четвертый";

function test() {
	var val=document.getElementById('str').value;
	var re=new RegExp('\^'+val,'i')
	for(var i = 0; i < a.length; i++) {
		if (re.test(a[i])) {
			document.getElementById('info').innerHTML=i;
			return;
		};
	};
	document.getElementById('info').innerHTML='No';
};
</script>
</head>
<body> 
<form onsubmit='test(); return false;'>
	<input type='text' id='str' value='третий' />
	<button>Test</button>
	<div id='info'></div>
</form>
</body>
</html>

Lexx32 18.11.2014 19:49

ksa,
Большое спсибо - мне нужно было сделать простой поиск по мини бд в js файле я 22 строку document.getElementById('info').innerHTML=i;
заменил на document.getElementById('info').innerHTML=a[i]; и у меня выходит запись, но как сделать чтоб выходили все записи??? убрал return???


Часовой пояс GMT +3, время: 08:10.