Ich kann dies nicht zur Arbeit, es wird nicht console.log(this.stat.first_name)
, muss ich wissen, wie auf die Eingabeformular Werte zugreifen, die eingegeben werden, so kann ich den Status ändern und dann eine axios
Postanforderung in der postSubmit
Funktion. Ich tue das console.log
zuerst, um es zu prüfen und Datenbewegung korrekt zu erhalten.Marko JS on-submit
Alles wird helfen.
Erste Frage wurde gelöscht, dies ist ein Repost, da ich das Problem nicht herausgefunden habe.
class {
onCreate() {
this.state = {
first_name: null,
last_name: null,
email: null,
address: null,
phone_number: null,
email_promotion_optin: false
};
}
postSubmit(event) {
event.preventDefault();
this.state.first_name = event.target.name.first_name;
console.log(this.state.first_name);
}
}
<form on-click('postSubmit')>
<fieldset>
<legend> Create Customer</legend>
<div>
<label>
First Name: <input type="text" name="first_name">
</label>
</div>
<div>
<label>
Last Name: <input type="text" name="last_name">
</label>
</div>
<div>
<label>
Email: <input type="text" name="email">
</label>
</div>
<div>
<label>
Address: <input type="text" name="address">
</label>
</div>
<div>
<label>
Phone Number: <input type="text" name="phone_number">
</label>
</div>
<div>
<label>
Submit <input type="submit">
</label>
</div>
</fieldset>
</form>
UPDATE !!!!!!:
Ich habe mit diesem aus MarkoJS Dokumentation kommen, aber noch kein Glück. Ich bin vielleicht auf dem richtigen Weg oder ich verschmutze meinen Code mit viel unnötigem Mist.
$ const axios = require('axios');
class {
onCreate() {
this.state = {
first_name: '',
last_name: '',
email: '',
address: '',
phone_number: '',
email_promotion_optin: false
};
}
onFirstNameInput() {
this.state.first_name = this.getEl('firstName').value;
}
onLastNameInput() {
this.state.last_name = this.getEl('lastName').value;
}
onEmailInput() {
this.state.email = this.getEl('email').value;
}
onAddressInput() {
this.state.address = this.getEl('address').value;
}
onPhoneNumberInput() {
this.state.phone_number = this.getEl('phoneNumber').value;
}
postSubmit() {
axios.post('/api/v1/customers', this.state)
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
}
}
<form>
<fieldset>
<legend> Create Customer</legend>
<div>
<label>
First Name: <input type="text" key="firstName" on-input('onFirstNameInput')>
</label>
</div>
<div>
<label>
Last Name: <input type="text" key="last_name" on-input('oneLastNameInput')>
</label>
</div>
<div>
<label>
Email: <input type="text" key="email" on-input('onEmailInput')>
</label>
</div>
<div>
<label>
Address: <input type="text" key="address" on-input('onAddressInput')>
</label>
</div>
<div>
<label>
Phone Number: <input type="text" key="phone_number" on-input('onPhoneNumberInput')>
</label>
</div>
</fieldset>
<div>
<button on-click('postSubmit')>Submit</button>
</div>
</form>
Sie könnten versuchen, einen Button als 'Submit' zu verwenden und dort Ihre' postSubmit'-Funktion aufzurufen. –
Möchten Sie mir helfen, indem Sie ein Beispiel für das Rigging auf console.log geben? – bRRRITSCOLD
Nicht sicher, ob es funktioniert, aber mit etwas wie ' Submit' –