Mit JavaScript ein Wert in ein Input Feld schreiben

Timo1

Grünschnabel
Hallo zusammen,

ich bin neu hier, also tut mir leid wenn ich irgendetwas falsch mache.
Die Sachen die ich per Google gefunden habe, haben bei mir leider nicht funktioniert.

Also folgendes Problem:

Auf meiner Seite habe ich ein Input Feld wo man einen Betrag eingeben kann, davor ein Label mit + und -, diese wechseln auch schon beim anklicken einer Checkbox.
Jetzt ist das bei mir so, dass der Wert des Input Feldes an die nächste Seite weiter gegeben wird, aber wie kann ich es am besten lösen, dass das Input Feld auch das - oder + davor geschoben bekommt.

Also z.B. -> Lable(-) ->InputFeld(12) er soll dann das - vor die 12 schreiben beim abschicken des Formulares.


Form id= Transaction/book/checkForm
InputFeld class= amount
label class= add_on_amount

ich hoffe ich habe nichts vergessen, danke schonmal im voraus
 
Kannst du uns mal deinen Code zeigen damit wir wissen wie das genau aussieht!?

Aber wenn der Wechsel plus/minus über eine Checkbox gesteuert wird, dann kannst du diese doch diese auswerten um auf der nächsten Seite das entsprechende Zeichen zu setzen.
 
book_check.ctp

Code:
<?php if(isset($books[$i]['amount'])):?>
								<?php echo AppController::setColorOfAmount($books[$i]['amount']);?>
							<?php echo $this->Form->input($i.'.amount', array('type' => 'hidden', 'label' => 'Betrag in EUR: ', 'style' => 'width: 100px;'));?> 
							<?php endif;?>


book.ctp

Code:
<div class="add_on_amount">-</div><?php echo $this -> Form -> input($i .'.amount', array('label' => '','value' => '', 'class' =>'amount', 'placeholder' => 'Betrag in EUR: ', 'style' => 'width: 100px;')); ?><div class="add_on_euro">€</div><br>



vorzeichen_amount.js

Code:
var BUCS = {};

BUCS.SwitchVorzeichen = function() {
	var elements = $('.add_on_amount');
	$("input[name='amount']").change(function() {
		var vorzeichen_amount = '+';
		if ($(this).is(':checked')) {
			elements.text('+');		
		} else {
			elements.text('-')
		}
	});
};

$(document).ready(BUCS.SwitchVorzeichen);
 
Nur nochmal zur Sicherheit.

Du gibst in das Textfeld z.B. die Zahl 12 ein und das Label zeigt als Vorzeichen Minus an. Beim Abschicken des Formulars soll dann automatisch der Wert -12 gesendet werden?

Dann mache in das Formular ein Hidden-Feld in welches du diesen Wert direkt einträgst.

Javascript:
if ($(this).is(':checked')) {
    elements.text('+');
    hidden.text('+' + textfeld.text);
} else {
    elements.text('-');
    hidden.text('-' + textfeld.text);
}

Hoffe du verstehst wie es gemeint ist!?
 
vielen dank werde es nochmal versuchen, hatte zwar schonmal so etwas ähnliches vor gehabt aber hatte nicht so ganz funktioniert
 
glaube bin noch nicht ganz wach ;)

also momentan siehts so aus:

Code:
var BUCS = {};

BUCS.SwitchVorzeichen = function() {
	var elements = $('.add_on_amount');
	var amount = $('.amount');
	var hiddentext = $('.hiddenamount');
	$("input[name='amount']").change(function() {
		var vorzeichen_amount = '+';
		if ($(this).is(':checked')) {
			elements.text('+');		
			hiddentext.text('+' + amount.text);
		} else {
			elements.text('-');
			hiddentext.text('-' + amount.text);
		}
	});
};

$(document).ready(BUCS.SwitchVorzeichen);




Code:
<td><div class="add_on_amount">-</div><?php echo $this -> Form -> input($i .'.amount', array('label' => '','value' => '','class' => 'amount', 'placeholder' => 'Betrag in EUR: ', 'style' => 'width: 100px;')); ?><div class="add_on_euro">€</div><br></td>	
						<?php echo $this -> Form -> input($i .'.amount', array('label' => '','value' => '', 'class' =>'hiddenamount', 'placeholder' => 'Betrag in EUR: ', 'style' => 'width: 100px;')); ?>

nur er schreibt noch nix rein, ist sowieso irgendetwas kleines nur überseh ich da grad was :D
 
Sorry "text" ist falsch, du musst dafür "val" nehmen.

Javascript:
var BUCS = {};
 
BUCS.SwitchVorzeichen = function() {
    var elements = $('.add_on_amount');
    var amount = $('.amount');
    var hiddentext = $('.hiddenamount');
    $("input[name='amount']").change(function() {
        var vorzeichen_amount = '+';
        if ($(this).is(':checked')) {
            elements.text('+');     
            hiddentext.val('+' + amount.val());
        } else {
            elements.text('-');
            hiddentext.val('-' + amount.val());
        }
    });
};
 
$(document).ready(BUCS.SwitchVorzeichen);

So sollte es klappen!
 
vielen vielen vielen dank, das war dann genau der gleiche fehler den ich auch gestern gemacht habe das erklärt warum das die ganze zeit nicht geklappt hat.
 

Neue Beiträge

Zurück