我的表单中有一个选择框,在选择框内有一个a,b,c和其他的列表。我有一个输入类型=" text"禁用。现在,当我在选择框中选择其他时,输入将被启用,以便用户可以键入在选择项目中找不到的任何内容。这个功能正常但是,唯一的问题是,当我现在尝试更新它没有提交..任何人都可以帮助我..
HTML
<Select name="category" id="category" class="form-control" onChange="category();">
<option value="<?php echo $a; ?>" selected="selected">Please Select a Category</option>
<option value="a">A</option>
<option value="b">B</option>
<option value="c">C</option>
<option value="OTHERS">Other/s</option>
</select>
<input type="text" id="Others" name="Others" value="<?php echo $Others; ?>" class="form-control" placeholder="Other/s" disabled="true">
的javascript
$(function(){
$("#category").change(function(){
if($(this).val()=="OTHERS"){
console.log(true);
$("#Others").removeAttr("disabled");
}
else{
console.log(false);
$("#Others").attr("disabled", "disabled");
}
});
});
PHP
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$ID = $_GET['ID'];
$Category = $_POST['Category'];
$Others = $_POST['Others'];
if($LTS->update($ID,$Category,$Others)){
echo "<script type='text/javascript'>alert('Successfully Updated!');</script>";
}
else {
echo "<script type='text/javascript'>alert('Updating Failed!');</script>";
}
}
if(isset($_GET['ID'])) {
$ID = $_GET['ID'];
extract($LTS->getID($ID));
}
?>
class.user.php
public function update($ID,$Category,$Others) {
try{
$stmt = $this->db->prepare("UPDATE sfund SET Category = :Categoryy,Others = :Others WHERE ID = :ID");
$stmt->bindparam(":Category", $Category);
$stmt->bindparam(":Others", $Others);
$stmt->bindparam(":ID", $ID);
$stmt->execute();
return true;
}
catch(PDOException $e) {
echo $e->getMessage();
return false;
}
}
答案 0 :(得分:0)
$('#submitButton').click(function() {
var others = $('#Others').val();
var category = $('#category').val();
$.post('script.php', {
action: 'submit',
others: others,
cat: category
});
});
script.php
是您的php文件的名称。如果它在文件夹中,则包括路径。
在PHP中,将$_SERVER["REQUEST_METHOD"] == "POST"
与isset($_POST['action']) && $_POST['action'] == "submit"
一起更改,以将其与您将创建的其他ajax分开。