إرسال النموذج باستخدام Express و Node و JQuery

1

أنا جديد تمامًا على html و express و node.js ، وهي التقنيات التي أستخدمها حاليًا لتطبيق ويب ، لكنني أواجه وقتًا صعبًا للغاية في إرسال النماذج.

هذا هو نموذجي (الذي يتم إنشاؤه من خلال برنامج نصي حيث تختلف حقوله اعتمادًا على عوامل مختلفة):

$FormContainer.html('');

var $form = $('<form></form>');
$form.css("action", "/CreateRecordObject");
$form.css("method", "GET");
for (i in data.fields) {
    var $label = $('<strong/>').text(data.fields[i] + ": ");
    var $input = $('<input>');
    $input.css("name", data.fields[i]);
    $input.css("value", " ");
    $input.css("type", "text")
    $label.appendTo($form);
    $('<br>').appendTo($form);
    $input.appendTo($form);
    $('<br><br>').appendTo($form);
}

$('<input type="submit" value="submit">').appendTo($form);

$FormContainer.append($form);

يقوم هذا البرنامج النصي بإنشاء النموذج في ملف html يسمى "/NewRecord.html"

في الخلفية ، لدي الطريق التالي:

app.get('/CreateRecordObject', function(request, response){
  console.log("Inside the CreateRecordObject");
});

ومع ذلك ، لا يدخل الرمز أبدًا في "/ CreateRecordObject". في الواقع ، بعد الضغط على زر الإرسال ، كل ما يحدث هو أن عنوان URL ينتقل من http://436bb783.ngrok.io/NewRecord إلى http://436bb783.ngrok.io/NewRecord ؟ إضافة علامة الاستفهام هذه في النهاية وإعادة تحميل الموقع. ما الخطأ الذي افعله؟

1 إجابة

3
افضل جواب

action و method هي سمات وليست أنماط CSS. يرجى تغيير الرمز الخاص بك إلى ما يلي:

// $form.css("action", "/CreateRecordObject");
// $form.css("method", "GET");

$form.attr("action", "/CreateRecordObject");
$form.attr("method", "GET");

$FormContainer = $('#container');
var data = {fields: [1, 2, 3]};
$FormContainer.empty();

var $form = $('<form/>', {"action": "/CreateRecordObject", "method": "GET"});
for (i in data.fields) {
    var $label = $('<strong/>').text(data.fields[i] + ": ");
    var $input = $('<input>', {"name": data.fields[i], "value": "", "type": "text"});
    $label.appendTo($form);
    $('<br>').appendTo($form);
    $input.appendTo($form);
    $('<br><br>').appendTo($form);
}

$('<input type="submit" value="submit">').appendTo($form);
$FormContainer.append($form);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<div id="container"></div>

المصدر: http://api.jquery.com/attr/

:مؤلف

أسئلة ذات صلة

فوق
قائمة طعام