Tengo una matriz que generé en mi página Controller.php como esta y quiero usarla en la página blade.php en javascript. Explicaré los detalles a continuación. Muevo esto a mi página blade.php usando compact('ids') .
array:11 [▼ 0 => 100485 1 => 100496 2 => 100497 3 => 100498 4 => 100499 5 => 100500 6 => 100502 7 => 100504 8 => 100482 9 => 100486 10 => 112995 ]Luego hay una entrada como esta en mi página blade.php.
<input type="text" value="{{ request()->get('id') }}" name="id" class="form-control input-sm" placeholder="ID" required>Hay un formulario como este.
<form action="" id="your_form" onsubmit="yourFunction()"> <div class="row"> <div class="col-lg-2"> <input id="coffee-submit" class="btn btn-primary mt-35" type="submit" value="detail"> </div> </div> <br> </form>yourFunction() así
var action_src = "http://localhost:8000/admin/" + document.getElementsByName("id")[0].value + "/orders"; var your_form = document.getElementById("your_form"); your_form.action = action_src;Ningún problema hasta ahora y funciona. Lo que quiero hacer es poner un control en esta función. Si el valor ingresado en la entrada existe en $ids, la función debería funcionar. Así que déjame dar un ejemplo:
var ids = <?php echo json_encode($ids); ?>; if (ids.includes(document.getElementsByName("id")[0].value)) { var action_src = "http://localhost:8000/admin/" + document.getElementsByName("id")[0].value + "/orders"; var your_form = document.getElementById("your_form"); your_form.action = action_src; } Intenté como arriba. Intenté lo siguiente, no funcionó. var ids = JSON.parse('{{ json_encode($ids) }}');
Parece un problema con la comparación de cadenas a enteros. Así que agregué Number()
var ids = [12, 13, 14, 15]; if (ids.indexOf(Number(document.getElementsByName("id")[0].value)) > -1) { console.log("ok, do the ajax"); } else { console.log("not found"); } <input type="text" value="14" name="id" class="form-control input-sm" placeholder="ID" required>