Проблем с JavaScript

3 отговора 0 прегледа
#1

Проблем с JavaScript

Колеги, имам малко нужда от помощ защото тотално зациклих ...

Става въпрос за няколко линка, които при клик трябва да присвоят определена стойност на едно скрито поле (<input type="hidden" ... ) и да submit-нат формата. На базата на това скрито поле впоследствие се решава как се обработва информацията.

Формата се казва form1, но ако я изпиша директно не ми разпознава пътя, затова ми се налага да я изпиша като forms[1] (идва втора на брой в страницата). Опитах с JavaScript onCLick в линка - не работи, сега опитвам като функция

<script language="Javascript" type="text/javascript">
<!--
function SetSubmit(val)
{
document.forms[1].act.value = val;
document.forms[1].submit();
}
//-->
</SCRIPT>


Под Firefox работи, но в IE ми дава грешка

document.forms.1.act is null or not an object

Защо скобите изглеждат заменени с точки?

Търсих из нета, не можах да намеря script, който да ми свърши работа.

Моля за бърза помощ ...

Благодаря предварително!

Отговор
в отговор на ironic_ #2

Ъм...

а защо просто не ползваш document.getElementById(id)? Работи навсякъде, естествено ако имаш дефинирано id

There are three determined states the cat could be in: Alive, Dead, and Bloody Furious.
Отговор
в отговор на ironic_ #3

Re: Проблем с JavaScript

Аз като запецна, или отивам да се разходя, или ако е нещо дребно, почвам отначало, щото най-вероятно грешката е твърде глупава, че да я видя :)

Това долу е тествано с IE5, IE6, IE7, FF2, Opera 9 и работи, открий десетте разлики ;)


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"[линк]">

<html xml:lang="bg" xmlns="[линк]">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>JS Submit</title>
<script type="text/javascript">
// <![CDATA[
function SetSubmit(val)
{
document.forms[1].act.value = val;
document.forms[1].submit();
}
// ]]>
</script>
</head>
<body>

<form id="form0" action="" method="get">
<p>Празна първа форма</p>
</form>

<form id="form1" action="" method="get">
<fieldset style="border:0">
<input name="act" id="act" type="hidden" value="0" />
<a href="#" onclick="javascript:SetSubmit(5);return false;">кликни, за да пратиш формата</a>
</fieldset>
</form>

<?php

if (isset($_GET['act']))
{
echo '<p>Стойността на скритото поле е ' . $_GET['act'] . '. Ако е различна от 0, значи стойността е присвоена коректно.</p>';
}

?>

</body>
</html>


[линк] - блог, уеб дизайн и програмиране, мъдрости, лекции
Отговор
в отговор на dimodi #4

Re: Проблем с JavaScript

Димо, много ти благодаря!

Наистина не изглежда да има голяма разлика, но работи ...



Отговор