Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.02.2013, 16:04
Новичок на форуме
Отправить личное сообщение для pulmar Посмотреть профиль Найти все сообщения от pulmar
 
Регистрация: 16.02.2013
Сообщений: 8

Вопрос тем кто сталкивался с JS в Joomla 2.5
Вчера на форуме разбирался с JS калькулятором (Всем спасибо, на данный момент всё удачно функционирует), сейчас стоит новая задача.
Есть расширение(создание форм) для Joomla - RsForm Pro. В созданую им форму необходимо вставить калькулятор. Разработчики приводят пример элементарного калькулятора коотрый работает. Однако все мои попытки поставить свой - остаются неудачными. вот их код JS
<script type="text/javascript">
function calculateRadio()
{
var op1=document.getElementsByName('form[radio1]');
var op2=document.getElementsByName('form[radio2]');
var result=document.getElementById('Total2');

result.value=0;

result.value=parseInt(result.value);

for(i=0;i<op1.length;i++)
if(op1[i].checked) result.value=parseInt(result.value)+parseInt(op1[i].value);

for(i=0;i<op2.length;i++)
if(op2[i].checked) result.value=parseInt(result.value)+parseInt(op2[i].value);
}

function calculateText()
{
var op1=document.getElementById('field1');
var op2=document.getElementById('field2');
var result=document.getElementById('Total');

if(op1.value=="" || op1.value!=parseFloat(op1.value)) op1.value=0;
if(op2.value=="" || op2.value!=parseFloat(op2.value)) op2.value=0;

result.value=0;
result.value=parseInt(result.value);
result.value=parseInt(result.value)+parseInt(op1.value)+parseInt(op2.value);
}

function calculateList()
{
var op1=document.getElementById('selectlist');
var result=document.getElementById('Total3');

result.value=0;

result.value=parseInt(result.value);

for(i=0;i<op1.length;i++)
if(op1.options[i].selected) result.value=parseInt(result.value)+parseInt(op1[i].value);
}
</script>

и HTML Layout
<div class="componentheading">{global:formtitle}</div>
{error}
<table border="0" style="text-align:center;">
	<tr>
		<td><strong>TextBox Calculations</strong></td>
		<td><br /></td>
		<td><br /></td>
		<td><br /></td>
		<td><strong>Radio Calculations</strong></td>
		<td><br /></td>
		<td><br /></td>
		<td><br /></td>
		<td><strong>Select List Calculations</strong></td>
		<td><br /></td>
		<td><br /></td>
		<td><br /></td>
	</tr>
	<tr>
		<td><br /></td>
		<td><br /></td>
		<td><br /></td>
		<td><br /></td>
		<td><br /></td>
		<td><br /></td>
		<td><br /></td>
		<td><br /></td>
		<td><br /></td>
		<td><br /></td>
		<td><br /></td>
		<td><br /></td>
	</tr>
	<tr>
		<td>{field1:caption}</td>
		<td>{field1:body}<div class="formClr"></div>{field1:validation}</td>
		<td>{field1:description}</td>
		<td><br /></td>
		<td>{radio1:caption}</td>
		<td>{radio1:body}<div class="formClr"></div>{radio1:validation}</td>
		<td>{radio1:description}</td>
		<td><br /></td>
		<td>{selectlist:caption}</td>
		<td>{selectlist:body}<div class="formClr"></div>{selectlist:validation}</td>
		<td>{selectlist:description}</td>
		<td><br /></td>
	</tr>
	<tr>
		<td>{field2:caption}</td>
		<td>{field2:body}<div class="formClr"></div>{field2:validation}</td>
		<td>{field2:description}</td>
		<td><br /></td>
		<td>{radio2:caption}</td>
		<td>{radio2:body}<div class="formClr"></div>{radio2:validation}</td>
		<td>{radio2:description}</td>
		<td><br /></td>
		<td><br /></td>
		<td><br /></td>
		<td><br /></td>
		<td><br /></td>
	</tr>
	<tr>
		<td>{Calculate:caption}</td>
		<td>{Calculate:body}<div class="formClr"></div>{Calculate:validation}</td>
		<td>{Calculate:description}</td>
		<td><br /></td>
		<td>{Radio Calculate:caption}</td>
		<td>{Radio Calculate:body}<div class="formClr"></div>{Radio Calculate:validation}</td>
		<td>{Radio Calculate:description}</td>
		<td><br /></td>
		<td>{Select Calculate:caption}</td>
		<td>{Select Calculate:body}<div class="formClr"></div>{Select Calculate:validation}</td>
		<td>{Select Calculate:description}</td>
		<td><br /></td>
	</tr>
	<tr>
		<td>{Total:caption}</td>
		<td>{Total:body}<div class="formClr"></div>{Total:validation}</td>
		<td>{Total:description}</td>
		<td><br/></td>
		<td>{Total2:caption}</td>
		<td>{Total2:body}<div class="formClr"></div>{Total2:validation}</td>
		<td>{Total2:description}</td>
		<td><br/></td>
		<td>{Total3:caption}</td>
		<td>{Total3:body}<div class="formClr"></div>{Total3:validation}</td>
		<td>{Total3:description}</td>
		<td><br/></td>
	</tr>
	<tr>
		<td><br /></td>
		<td><br /></td>
		<td><br /></td>
		<td><br /></td>
		<td>{Submit:caption}</td>
		<td>{Submit:body}<div class="formClr"></div>{Submit:validation}</td>
		<td>{Submit:description}</td>
		<td><br /></td>
		<td><br /></td>
		<td><br /></td>
		<td><br /></td>
		<td><br /></td>
	</tr>
</table>

P.S. мой код в следующем сообщение (т.к. не вмещается в одно сообщение)
Ответить с цитированием
  #2 (permalink)  
Старый 17.02.2013, 16:06
Новичок на форуме
Отправить личное сообщение для pulmar Посмотреть профиль Найти все сообщения от pulmar
 
Регистрация: 16.02.2013
Сообщений: 8

А вот мои каракули JS
<script type="text/javascript">
		if ( window.addEventListener ) {
    document.addEventListener('DOMContentLoaded',function() {
        var x_dom = document.getElementById('x'),
            y_dom = document.getElementById('y'),
            result_dom = document.getElementById('result'),
            values = document.getElementsByClassName('value');
        if ( values ) {
            for ( var i = 0, l = values.length; i < l; i++ ) {
                values[i].addEventListener( 'input', function( event ) {
                    if ( result_dom ) {
                        result_dom.innerHTML = calculate( parseInt(x_dom.value) || 0, parseInt(y_dom.value) || 0);
                    }
                    event.stopPropagation()
                }, true );
            }
        }
    });
} else if ( window.attachEvent ) { alert ( 'Ваш IE погружает меня в пучины отчаяния!!!' ) };
	function calculate (x,y) {
	var result;
	if (x >= 2 && x <= 50 && y >= 0 && y <= 1)
		{
			result = x*200+x*35;
		}
		else if (x >= 51 && x <= 150 && y >= 0 && y <= 1)
		{
			result = x*180+x*35;
			
		}
		else if (x >= 151 && x < 9999 && y >= 0 && y <= 1)
		{
			result = x*170+x*35;
		}
		else if (x >= 2 && x <= 50 && y >= 1.1 && y <= 4)
		{
			result = x*215+x*35;
		}
		else if (x >= 51 && x <= 150 && y >= 1.1 && y <= 4)
		{
			result = x*190+x*35;
		}
		else if (x >= 151 && x < 9999 && y >= 1.1 && y <= 4)
		{
			result = x*180+x*35;
		}
		else if (x >= 2 && x <= 50 && y >= 4.1 && y <= 8)
		{
			result = x*250+x*35;
		}
		else if (x >= 51 && x <= 150 && y >= 4.1 && y <= 8)
		{
			result = x*230+x*35;
		}
		else if (x >= 151 && x < 9999 && y >= 4.1 && y <= 8)
		{
			result = x*200+x*35;
		}
		else if (x >= 2 && x <= 50 && y >= 8.1 && y <= 15)
		{
			result = x*330+x*35;
		}
		else if (x >= 51 && x <= 150 && y >= 8.1 && y <= 15)
		{
			result = x*300+x*35;
		}
		else if (x >= 151 && x < 9999 && y >= 8.1 && y <= 15)
		{
			result = x*280+x*35;
		}
		else if (x >= 2 && x <= 50 && y >= 15.1 && y < 9999)
		{
			result = x*360+x*35;
		}
		else if (x >= 51 && x <= 150 && y >= 15.1 && y < 9999)
		{
			result = x*320+x*35;
		}
		else if (x >= 151 && x < 9999 && y >= 15.1 && y < 9999)
		{
			result = x*300+x*35;
		}
		//без упаковки товара
		else if (x == 1 && y >=0 && y <= 1) 
		{
			result = x*200;
		}
		else if (x == 1 && y >=1.1 && y <= 4) 
		{
			result = x*215;
		}
		else if (x == 1 && y >=4.1 && y <= 8) 
		{
			result = x*250;
		}
		else if (x == 1 && y >=8.1 && y <= 15) 
		{
			result = x*330;
		}
		else if(x == 1 && y >=15.1 && y <= 9999) 
		{
			result = x*360;
		}
		return result
		}		

	</script>
и соответственно HTML Layot
<h2>{global:formtitle}</h2>
{error}
<!-- Do not remove this ID, it is used to identify the page so that the pagination script can work correctly -->
<fieldset class="formHorizontal formContainer" id="rsform_7_page_0">
		<div class="rsform-block rsform-block-xls">
		<div class="formControlLabel">{XLS:caption}</div>
		<div class="formControls">
		<div class="formBody">{XLS:body}<span class="formValidation">{XLS:validation}</span></div>
		<p class="formDescription">{XLS:description}</p>
		</div>
	</div>
	<div class="rsform-block rsform-block-naimenovanie-tovara">
		<div class="formControlLabel">{naimenovanie_tovara:caption}</div>
		<div class="formControls">
		<div class="formBody">{naimenovanie_tovara:body}<span class="formValidation">{naimenovanie_tovara:validation}</span></div>
		<p class="formDescription">{naimenovanie_tovara:description}</p>
		</div>
	</div>
	<div class="rsform-block rsform-block-edinica-izmereniya">
		<div class="formControlLabel">{edinica_izmereniya:caption}</div>
		<div class="formControls">
		<div class="formBody">{edinica_izmereniya:body}<span class="formValidation">{edinica_izmereniya:validation}</span></div>
		<p class="formDescription">{edinica_izmereniya:description}</p>
		</div>
	</div>
	<div class="rsform-block rsform-block-x">
		<div class="formControlLabel">{x:caption}</div>
		<div class="formControls">
		<div class="formBody">{x:body}<span class="formValidation">{x:validation}</span></div>
		<p class="formDescription">{x:description}</p>
		</div>
	</div>
	<div class="rsform-block rsform-block-y">
		<div class="formControlLabel">{y:caption}</div>
		<div class="formControls">
		<div class="formBody">{y:body}<span class="formValidation">{y:validation}</span></div>
		<p class="formDescription">{y:description}</p>
		</div>
	</div>
	<div class="rsform-block rsform-block-razmer">
		<div class="formControlLabel">{razmer:caption}</div>
		<div class="formControls">
		<div class="formBody">{razmer:body}<span class="formValidation">{razmer:validation}</span></div>
		<p class="formDescription">{razmer:description}</p>
		</div>
	</div>
	<div class="rsform-block rsform-block-otkyda">
		<div class="formControlLabel">{otkyda:caption}</div>
		<div class="formControls">
		<div class="formBody">{otkyda:body}<span class="formValidation">{otkyda:validation}</span></div>
		<p class="formDescription">{otkyda:description}</p>
		</div>
	</div>
	<div class="rsform-block rsform-block-kyda">
		<div class="formControlLabel">{kyda:caption}</div>
		<div class="formControls">
		<div class="formBody">{kyda:body}<span class="formValidation">{kyda:validation}</span></div>
		<p class="formDescription">{kyda:description}</p>
		</div>
	</div>
	<div class="rsform-block rsform-block-name-polychatelya">
		<div class="formControlLabel">{name_polychatelya:caption}</div>
		<div class="formControls">
		<div class="formBody">{name_polychatelya:body}<span class="formValidation">{name_polychatelya:validation}</span></div>
		<p class="formDescription">{name_polychatelya:description}</p>
		</div>
	</div>
	<div class="rsform-block rsform-block-kontakt-polychatelya">
		<div class="formControlLabel">{kontakt_polychatelya:caption}</div>
		<div class="formControls">
		<div class="formBody">{kontakt_polychatelya:body}<span class="formValidation">{kontakt_polychatelya:validation}</span></div>
		<p class="formDescription">{kontakt_polychatelya:description}</p>
		</div>
	</div>
	<div class="rsform-block rsform-block-hranenie">
		<div class="formControlLabel">{hranenie:caption}</div>
		<div class="formControls">
		<div class="formBody">{hranenie:body}<span class="formValidation">{hranenie:validation}</span></div>
		<p class="formDescription">{hranenie:description}</p>
		</div>
	</div>
	<div class="rsform-block rsform-block-cena">
		<div class="formControlLabel">{cena:caption}</div>
		<div class="formControls">
		<div class="formBody">{cena:body}<span class="formValidation">{cena:validation}</span></div>
		<p class="formDescription">{cena:description}</p>
		</div>
	</div>
	<div class="rsform-block rsform-block-proverka">
		<div class="formControlLabel">{proverka:caption}</div>
		<div class="formControls">
		<div class="formBody">{proverka:body}<span class="formValidation">{proverka:validation}</span></div>
		<p class="formDescription">{proverka:description}</p>
		</div>
	</div>
	<div class="rsform-block rsform-block-result">
		<div class="formControlLabel">{result:caption}</div>
		<div class="formControls">
		<div class="formBody">{result:body}<span class="formValidation">{result:validation}</span></div>
		<p class="formDescription">{result:description}</p>
		</div>
	</div>
	<div class="rsform-block rsform-block-submit">
		<div class="formControlLabel">{submit:caption}</div>
		<div class="formControls">
		<div class="formBody">{submit:body}<span class="formValidation">{submit:validation}</span></div>
		<p class="formDescription">{submit:description}</p>
		</div>
	</div>
</fieldset>


Объясните пожалуйста в чем их коды отличаются от моих, что отказываются работать? (((((

P.S. заранее спасибо всем кто решит мне помочь!
Ответить с цитированием
  #3 (permalink)  
Старый 17.02.2013, 16:21
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

F12 ? Ctr+Shift+I?
Ответить с цитированием
  #4 (permalink)  
Старый 17.02.2013, 20:00
Новичок на форуме
Отправить личное сообщение для pulmar Посмотреть профиль Найти все сообщения от pulmar
 
Регистрация: 16.02.2013
Сообщений: 8

К сожалению с моим уровнем знаний данный совет мне не сможет ничем помочь.
Ответить с цитированием
  #5 (permalink)  
Старый 17.02.2013, 20:40
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от pulmar
Объясните пожалуйста в чем их коды отличаются от моих
А чем они похожи?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь Кто розбирается в js и кто поможет переделать его или создать заново Starpomlom Javascript под браузер 10 26.12.2011 14:46
вопрос про возможности JS для рисования и анимации macdack Библиотеки/Тулкиты/Фреймворки 3 15.07.2011 00:13
Вопрос знатока JS adamasantares jQuery 4 25.05.2011 18:37
Вопрос про подключение js prog90 Общие вопросы Javascript 4 03.01.2011 18:48
Java - Здравствуйте, вопрос про написание js noobasik Оффтопик 16 28.07.2010 03:38