To answer my own question. The following code does the trick:
    
    
    include karax / prelude
    from dom import getElementById, setAttribute
    
    type
      Model = object
        value_1: string
        value_2: string
    
    var model: Model
    
    proc setInput(ev: Event, node:VNode): auto =
      model.value_1 = $node.text
      model.value_2 = "Auto Text"
      let el = dom.document.getElementById("input_2")
      el.setAttribute("value", model.value_2)
    
    proc createDom(): VNode =
      result = buildHtml(tdiv):
        input(id = "input_1", onchange=setInput)
        input(id = "input_2")
        input(id = "input_3", value = "Initial Value")
        p: text $model
    
    setRenderer createDom
    
    
    Run

Reply via email to