Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Несколько форм обратного звонка на одной странице - как? (https://javascript.ru/forum/misc/41486-neskolko-form-obratnogo-zvonka-na-odnojj-stranice-kak.html)

petyaeva 16.09.2013 12:58

Несколько форм обратного звонка на одной странице - как?
 
Имеется форма:
<script language="javascript" type="text/javascript">
window.addEvent('domready', function() {

  $('amCallMeBackForm').getElements('input').addEvents({
    focus: function() {
      if ( this.value == '<?php echo $amNameText; ?>' || this.value == '<?php echo $amPhoneText; ?>' ) {
	this.value = '';
	this.addClass('amCallMeBack-input-act');
      }
    }
  });
  
  $('amCallMeBackShowForm').addEvent('click', function(event) {
    event.stop();
    
    $('amCallMeBackIntro').destroy();
    $('amCallMeBackForm').setStyle('display','block');
  });
  
  $('amCallMeBackForm').getElements('form').addEvent('submit', function(e) {
    new Event(e).stop();
    
    new Request({
        method: "post",
        data: this,
        onRequest: function() {
          $('amCallMeBackForm').empty().addClass('amCallMeBackWait');
        },
        onComplete: function() {
	  $('amCallMeBackForm').removeClass('amCallMeBackWait');
	  $('amCallMeBackForm').addClass('amCallMeBackSent');
	  $('amCallMeBackForm').set('html', '<?php echo $amSendedText; ?>');
        }
    }).send();
  });
  
});
</script>

<div class="amCallMeBackWrap">
<div id="amCallMeBackIntro">
  <a href="javascript:void(0)" id="amCallMeBackShowForm">
    <img class="icon" src="<?php echo JURI::root().'modules'.DS.'mod_amcallmeback'.DS.'assets'.DS.'callmeback.png'; ?>" />
    <?php echo $amHeadText; ?>
  </a>
</div>

<div id="amCallMeBackForm">
	<h3><?php echo $amHeadText; ?></h3>
	<?php if( $amIntroText != '' ) : ?>
	  <p class="amCallMebackIntroText"><?php echo $amIntroText; ?></p>
	<?php endif; ?>
	<form method="post" action="<?php echo $_SERVER['REQUEST_URI']; ?>">
		<input type="text" name="name" class="amCallMeback-input" value="<?php echo $amNameText; ?>" />
		<br />
		<input type="text" name="phone" class="amCallMeback-phone" value="<?php echo $amPhoneText; ?>" />
		<br />
		<input type="submit" value="<?php echo $amButtonText; ?>" class="amCallMeback-button" />
		<input type="hidden" name="action" value="amcallmebacksend" />
		<input type="hidden" name="uri" value="<?php echo JURI::current(); ?>" />
		<?php echo JHTML::_( 'form.token' ); ?>
	</form>
</div>
</div>


Как изменить ее, чтобы она работала несколько раз на одной странице?
Я пытаюсь заменить id на классы. У меня идет:
$('amCallMeBackForm').getElements('input').addEven ts({....
Но если я в пишу $('.amCallMeBackForm') и т.п. - и далее во всем файле меняю все ид на классы, и в css, естественно - форма перестает работать.
Как вообще заставить форму работать несколько раз на одной странице?


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