You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

技术需求:用JavaScript从文本框取数据用于函数实现

Got it, let's build out this payroll tax calculator using your exact HTML structure, adding the JavaScript logic to grab input values and process them. Here's a complete working implementation:

<html>
<head>
    <title>Tax Calculator</title>
    <!-- Name: Jacob Zoppina-->
    <!--Section: 25-->
    <!--TA: Fang Wang-->
    <meta charset="UTF-8">
    <style>
        h1 {
            text-align: center;
            background-color: black;
            color: darkgreen;
        }
        h2 {
            text-align: center;
            background-color: lightgreen;
            color: black;
        }
        body {
            background: lightyellow
        }
        .input-group {
            margin: 15px 20px;
            display: flex;
            flex-direction: column;
            gap: 5px;
        }
        label {
            font-weight: bold;
            color: #333;
        }
        input {
            padding: 8px;
            border: 1px solid #ccc;
            border-radius: 4px;
            width: 300px;
        }
        button {
            margin: 0 20px;
            padding: 10px 20px;
            background-color: darkgreen;
            color: white;
            border: none;
            border-radius: 4px;
            cursor: pointer;
        }
        #result {
            margin: 20px;
            padding: 15px;
            background-color: #e8f5e9;
            border-radius: 4px;
            font-size: 1.1em;
            font-weight: bold;
        }
    </style>
</head>
<body>
    <h1>Payroll Processing</h1>
    <h2>Report Generator</h2>
    <hr>

    <!-- Input Fields -->
    <div class="input-group">
        <label for="employeeName">Employee Name:</label>
        <input type="text" id="employeeName" placeholder="Enter employee name">
    </div>
    <div class="input-group">
        <label for="grossSalary">Gross Monthly Salary ($):</label>
        <input type="number" id="grossSalary" min="0" step="0.01" placeholder="Enter gross salary">
    </div>
    <div class="input-group">
        <label for="taxRate">Tax Rate (%):</label>
        <input type="number" id="taxRate" min="0" max="100" step="0.1" placeholder="Enter tax rate (e.g., 20)">
    </div>

    <button onclick="generatePayrollReport()">Generate Report</button>

    <!-- Result Display -->
    <div id="result"></div>

    <script>
        // Function to process payroll data
        function generatePayrollReport() {
            // Get input values from text boxes
            const employeeName = document.getElementById('employeeName').value.trim();
            const grossSalary = parseFloat(document.getElementById('grossSalary').value);
            const taxRate = parseFloat(document.getElementById('taxRate').value) / 100; // Convert % to decimal

            // Validate inputs to avoid calculation errors
            if (!employeeName || isNaN(grossSalary) || grossSalary < 0 || isNaN(taxRate) || taxRate < 0 || taxRate > 1) {
                document.getElementById('result').textContent = "Please enter valid input values: name cannot be empty, salary and tax rate must be valid numbers (tax rate 0-100%).";
                return;
            }

            // Calculate core payroll values
            const taxAmount = grossSalary * taxRate;
            const netSalary = grossSalary - taxAmount;

            // Format results into a readable report
            const report = `Payroll Report for ${employeeName}:
Gross Salary: $${grossSalary.toFixed(2)}
Tax Deduction: $${taxAmount.toFixed(2)} (${(taxRate * 100).toFixed(1)}%)
Net Salary: $${netSalary.toFixed(2)}`;

            // Display the final report
            document.getElementById('result').textContent = report;
        }
    </script>
</body>
</html>

Key Bits Breakdown:

  • Input Handling: Each input has a unique id so we can use document.getElementById() to pull values directly. Numeric inputs have built-in validation (min, step) to guide users.
  • Validation Check: We make sure all inputs are valid before processing—no empty names, no negative salaries, tax rates between 0-100%—to prevent weird calculation errors.
  • Processing Logic: The generatePayrollReport() function takes the input values, runs the tax calculations, formats a clean report, and dumps it into the result div.
  • Event Trigger: The button uses an inline onclick to fire the processing function—simple and straightforward for this use case.
  • Styling: Added subtle, consistent styling for inputs/buttons/results that matches your existing header theme without overriding it.

内容的提问来源于stack exchange,提问作者jayzee1138

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:09:14