Advertisement
Guest User

Untitled

a guest
May 22nd, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.49 KB | None | 0 0
  1. const userAddresses=[
  2. {
  3. id:1,
  4. firstname: "Name1",
  5. lastname:"Lastname1",
  6. city:"Chicago",
  7. email:"name1lastname1@example.com",
  8. postcode:"123-456",
  9. company:"Name1 company",
  10. telephone:"444-444-444"
  11. },{
  12. id:2,
  13. firstname: "Name2",
  14. lastname:"Lastname2",
  15. city:"London",
  16. email:"name2lastname2@example.com",
  17. postcode:"122-457",
  18. company:"Name2 company",
  19. telephone:"555-555-555"
  20. },
  21. {
  22. id:3,
  23. firstname: "Name3",
  24. lastname:"Lastname3",
  25. city:"New York",
  26. email:"name3lastname3@example.com",
  27. postcode:"234-337",
  28. company:"Name3 company",
  29. telephone:"777-577-755"
  30. }]
  31.  
  32. class FormApp extends React.Component {
  33. constructor(props) {
  34. super(props)
  35. this.state = {
  36. user_address:
  37. {
  38. id:userAddresses[0].id,
  39. firstname:userAddresses[0].firstname,
  40. lastname:userAddresses[0].lastname,
  41. city:userAddresses[0].city,
  42. email:userAddresses[0].email,
  43. postcode:userAddresses[0].postcode,
  44. company:userAddresses[0].company,
  45. telephone:userAddresses[0].telephone,
  46. },
  47. selectedValue:userAddresses[0].id,
  48. outputAddress:{}
  49. }
  50.  
  51. this.onSelectChange=this.onSelectChange.bind(this);
  52. this.handleInputChange=this.handleInputChange.bind(this);
  53. }
  54.  
  55. onSelectChange(e){
  56. this.setState({selectedValue:e.target.value})
  57. const shippingAddressID=e.target.value;
  58. const shippingAddress = userAddresses.filter(address => address.id == shippingAddressID);
  59. this.setState({user_address:shippingAddress})
  60. }
  61.  
  62. handleInputChange(e){
  63. const target = event.target;
  64. const value = target.type === 'checkbox' ? target.checked : target.value;
  65. const name = target.name;
  66.  
  67. this.setState({
  68. [name]: value
  69. });
  70. }
  71.  
  72. render() {
  73. const { user_address, selectedValue, outputAddress } = this.state;
  74. return (
  75. <div>
  76. <h2>Shipping data:</h2>
  77. <select value={selectedValue} onChange={this.onSelectChange}>
  78. {userAddresses.map((address,i) => <option value={address.id} key={i}>{address.city}, {address.postcode}</option>)}
  79. </select>
  80. <br/><br/>
  81. <form>
  82. <label>Firstname:</label>
  83. <input type="text" value={user_address.firstname} onChange={this.handleInputChange}></input>
  84. <label>Lastname:</label>
  85. <input type="text" value={user_address.lastname} onChange={this.handleInputChange}></input>
  86. <br/>
  87. <label>Email:</label>
  88. <input type="text" value={user_address.email} onChange={this.handleInputChange}></input>
  89. <br/><br/>
  90. <label>City:</label>
  91. <input type="text" value={user_address.city} onChange={this.handleInputChange}></input>
  92. <br/><br/>
  93. <label>Postcode:</label>
  94. <input type="text" value={user_address.postcode} onChange={this.handleInputChange}></input>
  95. <br/><br/>
  96. <label>Telephone:</label>
  97. <input type="text" value={user_address.telephone} onChange={this.handleInputChange}></input>
  98. <button onClick={e => this.setState({outputAddress:user_address})}>Send form</button>
  99. </form>
  100. </div>
  101. )
  102. }
  103. }
  104.  
  105. ReactDOM.render(<FormApp />, document.querySelector("#app"))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement