How to Convert Disable submit button from jQuery to alpinejs?

Viewed 3357

I want to know How I can Convert Disable submit button from jQuery to alpine js?

The Code :

<form>
  <input type="text" class="input-field" placeholder="Enter you name *" value="" />
  <button type="submit" class="submit-btn">Submit</button>
</form>

$(document).ready(function(){
    $('.submit-btn').attr('disabled',true);
    $('.input-field').keyup(function(){
        if($(this).val().length !=0)
            $('.submit-btn').attr('disabled', false);            
        else
            $('.submit-btn').attr('disabled',true);
    })
});
2 Answers

Using x-bind, or its shorter syntax, :

<script src="//cdnjs.cloudflare.com/ajax/libs/alpinejs/2.3.0/alpine.js"></script>

<form x-data="{ name: ''}">
  <input type="text" x-model="name" placeholder="Enter you name *" />
  <button type="submit" :disabled="!name.length">Submit</button>
</form>

is this accurate for what you want ?

<div x-data="{disableSubmit: true, inputText: null}">
   <input x-model="inputText" x-on:input="[(inputText.length != 0) ? disableSubmit = false : disableSubmit = true]">
   <button x-bind:disabled="disableSubmit">submit</button>
</div>

try this on jsfiddle

Related