gpt4 book ai didi

javascript - 如果输入为空,则禁用提交按钮

转载 作者:行者123 更新时间:2023-11-30 05:36:02 26 4
gpt4 key购买 nike

我这里有一个 ajax 检查数据库中信息的可用性。但我的问题是,如果其他输入/文本框为空,我想禁用提交按钮。我在我的 ajax 中添加了禁用功能,但是当其中一个文本框具有值时,禁用功能不起作用。任何帮助将不胜感激。

索引.php

<script type="text/javascript">
$(document).ready(function()
{
$('input[type="text"]').change(function()
{
var pr = $("#pr").val();
var msgbox = $("#status");
var txtbxs = $('.inputs').val();

$.ajax({
type: "POST",
url: "check_ajax.php",
data: "pr="+pr,
success: function(msg){
console.log(msg)
$("#status").ajaxComplete(function(event, request){
if(msg == 'OK' && txtbxs !== '')
{
msgbox.html('<img src="css/available.png" align="absmiddle">');
$("#save").prop("disabled",false);
}
else
{
$("#save").prop("disabled",true);
msgbox.html(msg);
}
});
}
});
return false;
});
});
</script>

<tr>
<td>PR #</td>
<td><input type="text" name="pr" id="pr" autocomplete="off"></td>
</tr>
<tr>
<td></td>
<td><span id="status"></span></td>
</tr>
<tr>
<td>Date1</td>
<td><input type="text" class="datepicker inputs" autocomplete="off" readonly></td>
</tr>
<tr>
<td>Date2</td>
<td><input type="text" class="datepicker inputs" autocomplete="off" readonly></td>
</tr>
<input type="button" value="Save" id="save">

Check_ajax.php

<?php
if(isset($_POST['pr']))
{
$pr = $_POST['pr'];
$sql = $mysqli->query("select id, pr from pr_list where pr='$pr'");
if(($sql->num_rows)>= 1)
{
echo '<STRONG>'.$pr.'</STRONG> is already in use.';
}
elseif($pr == '') {
echo 'Fund is Empty';
}
else
{
echo 'OK';
}
}
?>

最佳答案

ajaxcomplete 并不是真正适合在这里使用的东西,ajaxcomplete 为您进行的每个 ajax 调用添加一个事件监听器,但您只需要在这时检查消息ajax调用成功。

它仍然可以工作,但对于 ajaxcomplete 函数内没有作用域的 msg 变量。这是我会做的一种方法。

<script type="text/javascript">
$(document).ready(function()
{
// I've moved these variables here to give them global-ish scope
// I've also added a variable to assign your save button to
var msgbox = $("#status"),
saveButton = $("#save");


$('input[type="text"]').change(function()
{
var pr = $("#pr").val(),
txtbxs = $('.inputs'),
empty = true;


$.ajax({
type: "POST",
url: "check_ajax.php",
data: "pr="+pr,
success: function(msg){

console.log(msg)

// loop through the txtbxs and check for emptiness :)
$.each(txtbxs, function(key, box) {
if (box.val() != "") {
empty = false;
} else {
empty = true;
}
});

if(msg == 'OK' && !empty) {
msgbox.html('<img src="css/available.png" align="absmiddle">');
saveButton.prop("disabled",false);
} else {
saveButton.prop("disabled",true);
msgbox.html(msg);
}
} // END OF SUCCESS FUNCTION
});// END OF AJAX CALL
});
});// END OF DOCUMENT READY

我不确定的另一件事是,当您执行 if 语句并且有 txtbxs != '' 时,您是在尝试检查框是否为空或变量是否为不为空。

你设置的方式是检查变量是否为空,如果你想检查 txtbxs 是否有值,那么你需要一些不同的代码

关于javascript - 如果输入为空,则禁用提交按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23796431/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com